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

Как работает ленивая загрузка данных в Hibernate

Ленивая загрузка (Lazy Loading) в Hibernate означает, что связанные сущности загружаются только при первом обращении к ним, а не сразу при загрузке родительского объекта. Это оптимизирует производительность, уменьшая количество SQL-запросов. Пример с аннотацией `@OneToMany`: ```java @Entity public class Parent { @Id private Long id; @OneToMany(fetch = FetchType.LAZY, mappedBy = "parent") private List children; // Не загружается сразу } // При обращении к children: Parent parent = session.get(Parent.class, 1L); parent.getChildren().size(); // Тут выполнится SQL-запрос ``` Важные моменты: 1. Работает только при открытой сессии (иначе - LazyInitializationException) 2. Для работы в отключенном состоянии нужен Hibernate.initialize() или Open Session in View 3. Можно настроить через аннотации (@ManyToOne, @OneToOne и др.) 4. FetchType.LAZY - значение по умолчанию для @OneToMany и @ManyToMany
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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