Встречается на собеседованиях • сегодня
Какую знаешь проблему с сессией Lazy загрузки JPA
При использовании Lazy загрузки в JPA может возникнуть проблема **LazyInitializationException**, когда пытаешься загрузить связанные сущности вне контекста сессии. Это происходит потому, что Hibernate проксирует ленивые коллекции и для их загрузки требуется активная сессия.
Пример:
```java
@Entity
public class Order {
@OneToMany(fetch = FetchType.LAZY)
private List- items;
// геттеры/сеттеры
}
// В коде:
Order order = entityManager.find(Order.class, 1L);
entityManager.close(); // сессия закрыта
order.getItems().size(); // LazyInitializationException!
```
Способы решения:
1. Использовать **FetchType.EAGER** (не всегда оптимально)
2. Загружать данные в рамках транзакции
3. Использовать **EntityGraph** или **JOIN FETCH** в запросе
4. Применить **Open Session in View** паттерн (осторожно с производительностью)
5. Инициализировать коллекции через **Hibernate.initialize()**

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы