Java Core middle

Что такое LazyInitializationException и как с ним жить?

Ответ

Попытка обратиться к lazy-полю после закрытия сессии. Решения: JOIN FETCH в запросе, @EntityGraph, DTO-проекции, OpenSessionInView (анти-паттерн в проде).

Разбор: Корректные решения — подгрузить нужные данные внутри транзакции через JOIN FETCH, @EntityGraph или сразу маппить в DTO-проекцию; OpenSessionInView держит сессию открытой, но в проде это анти-паттерн. Ловушка: тотальный EAGER порождает проблему N+1 и лишнюю загрузку, а DTO-проекции, наоборот, помогают избежать исключения, а не вызывают его.

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

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