Anotação | Descrição |
---|---|
@ManyToOne |
Define um relacionamento onde muitos objetos da entidade atual estão associados a um único objeto de outra entidade. É o lado "muitos" da relação. |
@OneToMany |
Define um relacionamento onde um único objeto da entidade atual está associado a muitos objetos de outra entidade. É o lado "um" da relação, e é comumente mapeado com um @JoinColumn ou @MappedBy . |
@OneToOne |
Define um relacionamento de um para um, onde um objeto da entidade atual está associado a exatamente um objeto de outra entidade. Pode ser bidirecional ou unidirecional, e geralmente usa @JoinColumn para especificar a coluna de chave estrangeira. |
@ManyToMany |
Define um relacionamento muitos-para-muitos entre duas entidades. Em geral, requer uma tabela intermediária (ou tabela de junção) que contém as chaves estrangeiras de ambas as entidades. |
Anotação | Descrição |
---|---|
@JoinColumn |
Especifica a coluna de junção (chave estrangeira) usada em relacionamentos @OneToOne , @ManyToOne , e @OneToMany (quando não se usa @MappedBy ). Permite definir o nome da coluna, se é nullable, e outras propriedades. |
@JoinTable |
Usada para definir uma tabela de junção intermediária em um relacionamento @ManyToMany , ou em um relacionamento @OneToOne ou @ManyToOne onde é necessária uma tabela intermediária personalizada. Especifica o nome da tabela e as colunas de junção. |
@MappedBy |
Usada no lado inverso de um relacionamento bidirecional (@OneToMany , @ManyToMany , @OneToOne ) para indicar que o mapeamento é gerenciado pelo atributo correspondente na outra entidade. |
@PrimaryKeyJoinColumn |
Utilizada em uma associação @OneToOne ou herança para indicar que a chave primária da entidade atual também é usada como chave estrangeira para outra entidade. |
Anotação | Descrição |
---|---|
@OrderBy |
Define a ordenação dos elementos em uma coleção, aplicável a relacionamentos @OneToMany e @ManyToMany . A ordenação pode ser especificada com base em uma ou mais propriedades da entidade. |
@OrderColumn |
Usada para mapear uma coluna que mantém a ordem dos elementos em uma coleção, aplicável a relacionamentos @OneToMany e @ManyToMany . A coluna de ordenação pode ser persistida e atualizada para manter a ordem dos elementos. |
@MapKey |
Especifica a propriedade de uma entidade que será usada como chave em um mapa (java.util.Map ) para relacionamentos como @OneToMany ou @ManyToMany . |
@MapKeyColumn |
Similar ao @MapKey , mas especifica uma coluna para a chave de um mapa, geralmente em um relacionamento @ElementCollection ou @OneToMany . |
@MapKeyJoinColumn |
Define a coluna de chave estrangeira usada como chave de um mapa em um relacionamento @ManyToMany ou @OneToMany . |
@MapKeyEnumerated |
Especifica que o valor da chave de um mapa deve ser mapeado como um enumerado (enum ). |
@MapKeyTemporal |
Especifica que o valor da chave de um mapa deve ser mapeado como um valor temporal (java.util.Date ou java.util.Calendar ). |
@ForeignKey |
Define a estratégia para geração de chaves estrangeiras em relacionamentos. Esta anotação é usada em conjunto com outras, como @JoinColumn , para customizar aspectos das chaves estrangeiras, como nome e estratégia de criação. |
@AssociationOverride |
Permite sobrescrever as configurações de associação (relacionamento) de uma entidade embutida (@Embedded ) ou de uma entidade em uma classe herdada. |
@AssociationOverrides |
Usada para aplicar múltiplos @AssociationOverride em uma entidade embutida ou em uma classe herdada. |