JPA:é @PrimaryKeyJoinColumn(...) o mesmo que @JoinColumn(..., insertable = ?, atualizável = ?)?

StackOverflow https://stackoverflow.com/questions/4205628

Pergunta

Você pode derivar da especificação JPA, se @PrimaryKeyJoinColumn(...), que não tem o inserível e atualizada de parâmetros, é o mesmo que

@JoinColumn(..., insertable = false, updatable = false)

ou

@JoinColumn(..., insertable = true, atualizável = true)

quando usado em normal (não-herança) associações?Eles devem ser intercambiáveis?Quais são os inserível e atualizável propriedades?Eles são definidos para alguma coisa?Observe, estou apenas visando o atributo só de leitura que ambos (parecem) implementar...

Eu estou ficando um pouco inconsistente mapeamento de exceção com EclipseLink e Hibernate...

Aqui está o @PrimaryKeyJoinColumn JavaEE 5 + 6 Javadoc:

PrimaryKeyJoinColumn (JavaEE 5)
PrimaryKeyJoinColumn (JavaEE 6)

Citação:

...e pode ser usado em um OneToOne de mapeamento em que a chave primária da entidade de referência é usada como uma chave estrangeira para a entidade referenciada.

Foi útil?

Solução

Sim, os dois são equivalentes.

Nota na JPA 2.0 você também pode adicionar um @Id para um @OneToOne mapeamento e evitar ter duplicado básica atributo id completamente.

Ver

do Wikilivros Java Persistence páginas

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top