terça-feira, 25 de março de 2008

Classes de chave primária e chaves composta

A especificação Java Persistence fornece múltiplas maneiras de permitir que uma chave primária seja composta de varias propriedades persistente. Uma delas é por meio da anotação @javax.persistence.IdClass, a outra é por meio da @javax.persistence.EmbeddedId.

 

*@IdClass

A primeira maneira de definir uma classe de chave primária (e, nesse sentido, chaves compostas) é utilizar a anotação @IdClass.  É uma anotação no nível de classe e especifica qual classe de chave primária você deve utilizar ao interagir com o gerenciador de entidade. Na classe bean, designamos uma ou mais propriedades que compõem a chave primária, utilizando a anotação @Id. Essas propriedades devem mapear exatamente para propriedades na @IdClass.


*@EmbeddedId

Outra maneira de definir as classes de chave primária e as chaves compostas é embutir a classe da chave primária diretamente em sua classe bean. A anotação @javax.persistence.EmbeddedId é utilizada para esse propósito em conjunto com a anotação @javax.persistence.Embeddable.

Há duas maneiras de mapear as propriedades da classe de chave primária para colunas em uma tabela. Uma é especificar os mapeamentos @Column dentro do código-fonte da classe de chave primária; a outra é utilizar @AttributeOverrides.

Um comentário:

Unknown disse...

I S2 You!

mto xeroo