Отображение много-много

Отображение много-много позволяет определить ассоциацию нескольких величин с несколькими величинами. Отображение много-много имеет две стороны: владеющую и подчиненную. На владеющей стороне необходимо указать соединение таблиц. Для двунаправленных отображений владеющей может быть любая сторона.

  1. В панели Структура JPA выберите отображаемое поле.

  2. Щелкните правой кнопкой на поле и выберите Отобразить как > Много-много. В панели Сведения JPA (атрибуты) будут показаны свойства этого поля.

  3. Заполните в этой таблице поля общей информации в панели Сведения JPA.

    Свойство Описание По умолчанию
    Гиперссылка Отображение сущности Указывает, что отображение имеет тип Много-много.

    Это поле соответствует аннотации @ManyToMany.

    Много-много
    Целевая сущность Сущность, с которой связан данный атрибут. null

    Явным образом задавать целевую сущность не требуется, так как она может быть определена по типу связанного объекта.

    Извлечь Определяет способ загрузки данных из базы данных. Дополнительная информация приведена в разделе Тип получения.
    • Быстрый

    • Медленный

    Медленный
    Отображено Поле базы данных, которое владеет отношением.
    Упорядочить по Указывает режим упорядочения по умолчанию объектов, возвращенных запросом. Дополнительная информация приведена в разделе Упорядочить по.
    • Без упорядочения

    • Первичный ключ

    • Другой

    Без упорядочения

  4. Заполните в этой таблице поля соединения таблиц в панели Сведения JPA.

    Свойство Описание По умолчанию
    Имя Имя соединенной таблицы, которая содержит столбец внешнего ключа. На владеющей стороне необходимо указать соединение таблиц.

    По умолчанию это имя главных таблиц, связанных с сущностями. Символ для соединения - подчеркивание.

    Соединение столбцов Выберите Переопределить значение по умолчанию, затем выберите Добавить, Изменить или Удалить для соединения столбцов. По умолчанию это имя главных таблиц, связанных с сущностями. Символ для соединения - подчеркивание.
    Обратное соединение столбцов Выберите Переопределить значение по умолчанию, затем выберите Добавить, Изменить или Удалить для соединения столбцов. По умолчанию отображение имеет единичное соединение.

  5. Для добавления соединения или обратного соединения столбцов нажмите кнопку Добавить.

    Для редактирования существующего соединения или обратного соединения столбцов выберите поле и нажмите кнопку Изменить.

В это поле будет добавлена следующая аннотация:

@JoinTable(joinColumns=@JoinColumn(name="<JOIN_COLUMN>"),
    name = "<JOIN_TABLE_NAME>")
@ManyToMany(cascade=CascadeType.<CASCADE_TYPE>, fetch=FetchType.<FETCH_TYPE>,
    targetEntity=<TARGET_ENTITY>, mappedBy = "<MAPPED_BY>")
@OrderBy("<ORDER_BY>")

 

Связанные задачи

Отображение сущности

 

Связанные справочники

Панель Структура JPA
Панель Сведения JPA (атрибуты)

 

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

Отображения OR
EJB 3.0 Java Persistence API