Hibernate. Ленивые нагрузки. Лучшая практика Что не так? - PullRequest
0 голосов
/ 12 мая 2018

Я пишу тестовый сервер в Spring и Hibernate.

Во время выполнения кода я получил исключение LazyInitializationException.

Я нашел два плохих решения: Open Session in View и hibernate.enable_lazy_load_no_trans. Я не использовал их.

Я нашел решение, которое работает, но, как пишут другие, это тоже не очень хорошо. Над сущностью я положил аннотацию @Proxy (lazy = false).

Скажите пожалуйста, что лучше изменить в проекте, чтобы все работало ПРАВИЛЬНО?

Ссылка на проект в GitHub .

Проект очень маленький и содержит только восемь небольших файлов .java и два файла .properties.

Заранее спасибо за помощь!

1 Ответ

0 голосов
/ 21 мая 2018

Проблема в том, что вы пытаетесь лениво загрузить некоторые объекты вне транзакции гибернации.Лучший способ, на мой взгляд, выполнить код, который фактически работает с сущностями внутри одной транзакции.Вам необходимо настроить диспетчер транзакций (если он еще не установлен) и поместить метод @Transactional (из пакета hibernate) в метод.

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