Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема вложенности в JPA / 2 сообщений из 2, страница 1 из 1
08.08.2015, 21:05
    #39025602
zz5
zz5
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема вложенности в JPA
Добрый вечер. Имеем JPA 2 на Hibernate. Такая модель пример

Есть сотрудник
Каждый сотрудник относится к одному отделу
Каждый отдел относится к одному филиалу
Каждый филиал относится к одному городу

Все связи есть ManyToOne и по умолчанию EAGER.
Когда я пытаюсь получить всех сотрудников, то этот вызов приводит к куче дополнительных запросов дочерних сущностей
JPA пытается загрузить данные для всего дерева класса сотрудник и по каждому объекту это происходит в отдельности.

Как мне ему сказать, например, нужны сотрудники и отдел, что можно сделать простым LEFT JOIN
но объекты ниже меня не интересуют?
...
Рейтинг: 0 / 0
09.08.2015, 19:08
    #39025799
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема вложенности в JPA
zz5Все связи есть ManyToOne и по умолчанию EAGER.
Начиная с Hibernate 2 все ассоциации по-умолчанию Lazy. Если вы их сконфигурировали на EAGER, то не удивляйтесь, что у вас в одном запросе вся база данных вычитывается.
Для управлением загрузки ассоциаций используется Fetch/FetchMode как в HQL/JPQL JOIN-ах, так и в Critaria API.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема вложенности в JPA / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]