Ленивая инициализация - Hibernate - PullRequest
0 голосов
/ 20 марта 2012

У нас есть 4 таблицы,

Один A к одному B Один B к многим C Один C к многим D

Все настроены для двунаправленной и Lazy Fetch.

Но если я попытаюсь получить A, его выборка B тоже, но не C и так.Это последовательное поведение.Как это работает?

1 Ответ

0 голосов
/ 20 марта 2012

Да, это последовательное поведение. Спецификация (JPA 2.0) не слишком строга в отношении ожидаемого результата использования FetchType.LAZY:

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

Выше взято из определения OneToOne, но то же самое относится и к другим отношениям, LAZY - подсказка, а не нормативная.

Кроме того, Hibernate решил не внедрять ленивую выборку отношений OneToOne. Если вам это нужно, взгляните на это: Hibernate OneToOne ленивая загрузка и каскадирование

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...