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

Что происходит при использовании FetchType.LAZY

При `FetchType.LAZY` загрузка связанных сущностей откладывается до момента первого обращения к ним. Это оптимизирует производительность, избегая лишних запросов к БД. **Важно:** - Работает только в контексте открытой сессии (Hibernate Session или JPA EntityManager) - При попытке доступа к ленивой коллекции/полю вне сессии будет `LazyInitializationException` Пример: ```java @Entity public class Order { @OneToMany(fetch = FetchType.LAZY) private List items; // Не загружается сразу } // В транзакции: Order order = em.find(Order.class, 1L); // items еще не загружены order.getItems().size(); // Только здесь выполняется запрос ``` Для решения проблемы вне сессии можно: 1. Использовать `JOIN FETCH` в запросе 2. Открыть транзакцию на время работы 3. Инициализировать коллекцию через `Hibernate.initialize()`
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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