Hibernate – пример отображения многие-ко-многим Many-To-Many

Рассмотрим как реализовать отношение многие-ко-многим с помощью Hibernate.

Используемые технологии:

Hibernate 5.0.1.Final

Maven 3.2.5

IntelliJ IDEA 14

MySQL 5.6.25

1. Описание задачи

Связь многие-ко-многим используется, когда записи из таблицы А может соответствовать 0 или более записей в таблице Б и наоборот для каждой записи из Б есть 0 или более записей таблицы А.

2. Структура проекта

Hibernate ManyToMany structure

Основа взята из Реализация связи один-ко-многим в Java с помощью Hibernate. Так же рекомендую прочитать Hibernate – быстрый старт. Пример приложения Hello World (там описано подключение Hibernate и ссылка как подключить MySQL к IDEA). Все настройки остались прежними. В этой части были добавлены несколько таблиц и необходимый Java код, который будет описан в этой статье. Схема таблиц:

Hibernate ManyToMany tables

Мы будем использовать таблицы employee, cars и employee_car для связи первых двух. Каждый сотрудник может водить несколько корпоративных машин и каждая машина может иметь разных водителей.

2.1 pom.xml и hibernate.cfg.xml

pom.xml:

hibernate.cfg.xml:

3. Описание сущностей

EmployeeEntity:

CarsEntity:

4. Тестирование

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

Результат:

Hibernate ManyToMany result1

Hibernate ManyToMany result2

Hibernate ManyToMany result3

Исходный код

Hibernate ManyToMany — src

Hibernate ManyToMany SQL — база данных с записями

Share Button
8
22941 Total Views 7 Views Today

Добавить комментарий