Виды связей

До этого момента мы рассматривали только простейшие виды связей между классами и таблицами в базах данных (далее – БД). Но давайте рассмотрим более детально виды связей в ORM.
Связи в ORM делятся на 3 группы:

  • Связывание коллекций
  • Ассоциативное связывание
  • Связывание компоннетов

Рассмотрим каждую из них:

Связывание коллекций

Если среди значений класса есть коллекции (collections) каких-либо значений, мы можем связать (map) их с помощью любого интерфейса коллекций, доступных в Java.

В Hibernate мы можем оперировать следующими коллекциями:


java.util.List(ссылка на пример)

Связывается (mapped) с помощью элемента <list> и инициализируется с помощью java.util.ArrayList


java.util.Collection(ссылка на пример)

Связывается (mapped) с помощью элементов <bag> или <ibag> и инициализируется с помощью java.util.ArrayList


java.util. Set(ссылка на пример)

Связывается (mapped) с помощью элемента <set> и инициализируется с помощью java.util.HashSet


java.util.SortedSet(ссылка на пример)

Связывается (mapped) с помощью элемента <set> и инициализируется с помощью java.util.TreeSet. В качестве параметра для сравнения может выбрать либо компаратор, либо естественный порядок.


java.util.Map(ссылка на пример)

Связывается (mapped) с помощью элемента <map> и инициализируется с помощью java.util.HashMap.


java.util.SortedMap(ссылка на пример)

Связывается (mapped) с помощью элемента <map> и инициализируется с помощью java.util.TreeMap. В качестве параметра для сравнения может выбрать либо компаратор, либо естественный порядок.


Ассоциативное связывание

Связывание ассоциаций – это связывание (mapping) классов и отношений между таблицами в БД. Существует 4 типа таких зависимостей:


Many-to-One(ссылка на пример)

Связывание (mapping) отнощений many-to-one с использованием Hibernate.


One-to-One(ссылка на пример)

Связывание (mapping) отношений one-to-one с использованием Hibernate.


One-to-Many(ссылка на пример)

Связывание (mapping) отнощений one-to-many с использованием Hibernate.


Many-to-Many(ссылка на пример)

Связывание (mapping) отнощений many-to-many с использованием Hibernate.


Связывание компонентов

Возможна ситуация, при которой наш Java-класс имеет ссылку на другой класс, как одну из переменных. Если класс, на который мы ссылаемся, не имеет своего собственного жизненного цикла и полностью зависит от жизненного цикла класса, который на него ссылается, то класс, на который ссылаются называется классом Компонентом (Component Class).

По ЭТОЙ ССЫЛКЕ приведен пример связывания компонентов.

results matching ""

    No results matching ""