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

Какую знаешь проблему с сессией 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()**
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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