Встречается на собеседованиях • сегодня

Что такое ошибка LazyInitializationException

LazyInitializationException возникает в Hibernate при попытке загрузить лениво загружаемую коллекцию (например, `@OneToMany`) вне контекста сессии. Это происходит потому, что прокси-объект не может выполнить запрос к БД после закрытия сессии. **Типичный сценарий:** ```java @Entity public class Parent { @OneToMany(fetch = FetchType.LAZY) private List children; // геттеры/сеттеры } // В коде: Parent parent = session.get(Parent.class, id); session.close(); // сессия закрыта parent.getChildren().size(); // LazyInitializationException! ``` **Решение:** 1. Инициализировать коллекцию в рамках сессии: `Hibernate.initialize(parent.getChildren())` 2. Использовать `JOIN FETCH` в запросе 3. Открыть сессию на время обработки (Open Session in View) 4. Изменить стратегию загрузки на `EAGER` (не рекомендуется)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы