Java Core trainee

Что такое LazyInitializationException?

Ответ

Runtime-исключение, возникающее при обращении к LAZY-полю или коллекции после закрытия сессии Hibernate. Сценарий: достал Entity в @Transactional-методе, вернул наружу; транзакция и сессия закрылись — при попытке дочитать ленивое поле летит исключение.

Разбор: LazyInitializationException бросается при обращении к LAZY-полю или коллекции уже после закрытия сессии Hibernate (например, когда сущность отдали наружу из @Transactional-метода). Ловушки: проблема именно с LAZY (а не EAGER), это runtime-исключение, и связано оно с закрытой/detached-сессией при чтении, а не с сохранением, каскадами или вложенными транзакциями.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться