JPA:é @PrimaryKeyJoinColumn(...) o mesmo que @JoinColumn(..., insertable = ?, atualizável = ?)?
-
25-09-2019 - |
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.
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
- Identidade e Seqüenciamento > Chaves Primárias através de OneToOne e Relacionamento ManyToOne e
- OneToOne > Destino Chaves Estrangeiras, Chave Primária Colunas De Associação, Cascata Chaves Primárias
do Wikilivros Java Persistence páginas