Реализация связи один-ко-многим в Java с помощью Hibernate

Реализация связи один-ко-многим в Java с помощью Hibernate.

Update:

На сайте есть еще один пример один-ко многим для Hibernate. В процессе работы над другими статьями получилось две разных. Поэтому для тех, кому будет что-то непонятно здесь, могут обратиться в другой, почти такой же пример.

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

Hibernate 5.0.1.Final

Maven 3.2.5

IntelliJ IDEA 14

MySQL 5.6.25

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

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

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

HibernateOneToMany sturcture

Основа взята из Hibernate – пример отображения один к одному One-To-One. Все настройки остались прежними. В этой части были добавлены несколько таблиц и необходимый Java код, который будет описан в этой статье. Схема таблиц:

Hibernate relationship table

В примере будем использовать таблицу контактов и сотрудников. У каждого сотрудника может быть несколько телефонов и email’ов, но каждый телефон и почта могут относится только к одному сотруднику.

2.1 pom.xml и hibernate.cfg.xml

pom.xml:

hibernate.cfg.xml:

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

EmployeeEntity:

ContactsEntity:

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

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

Результат (сначала была записана запись с одним контактом, потом с двумя):

Hibernate OneToMany contacts_result Hibernate OneToMany empl_result

P.S. в конструкторе new ContactsEntity(«mail@javastudy.ru», «8-495-35-35-35»); перепутал местами переменные 🙂

Исходный код

Hibernate OneToMany src — src

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

*В исходном коде, доступном для скачивания будет закомментирован код относящийся к варианту один-к-одному (оставил чтобы можно было сравнить реализации). Чтобы не путать читателя, в статье приведен листинг сущностей только с кодом для один-ко-многим.
Share Button
3
2856 Total Views 3 Views Today
1 комментарий для “Реализация связи один-ко-многим в Java с помощью Hibernate
  1. naut:

    Великолепно!

    Реализовал с PostgeSQL, все работает отлично!

    Огромное спасибо!

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

CAPTCHA

*