Ассоциации описывают, как два или более Entity класса формируют отношения между собой на основе отношений реляционной базы данных. Hibernate поддерживает следующие виды ассоциаций:

  • one-to-one — один к одному
  • one-to-meny — один ко многим
  • many-to-one — многие к одному
  • many-to-many — многие ко многим

Аннотация @OneToOne

Аннотация @OnetoOne определяет отношение один к одному — когда один объект сущности (Entity класса) включает атрибут (свойство) ссылающийся на другой объект сущности. Кроме того при отношении один к одному, значение атрибута, ссылающегося на другой объект должно быть уникально для всей коллекции.

Подробнее: Аннотация @OneToOne

Аннотация @ManyToOne

Аннотация @ManyToOne определяет отношение многие к одному — когда множество объект сущности (Entity класса) ссылается на один объект другой сущности.

Подробнее: Аннотация @ManyToOne

Аннотация @OneToMany

Ассоциация @OneToMany связывает родительский объект (Entity класс) с одним или несколькими дочерними объектами (Entity классами). Если @OneToMany не имеет зеркальной ассоциации @ManyToOne на дочерней стороне, ассоциация @OneToMany является однонаправленной. Если на дочерней стороне есть ассоциация @ManyToOne, ассоциация @OneToMany является двунаправленной.

Подробнее: Аннотация @OneToMany

Аннотация @ManyToMany

Аннотация @ManyToMany определяет отношение многие ко многим — когда объект Entity класса с одной стороны содержит коллекцию объекты Entity классов другой стороны. В свою очередь объекты Entity классов со второй стороны могут содержать коллекцию объектов Entity классов первой стороны.

Подробнее: Аннотация @ManyToMany