Встречается на собеседованиях • сегодня
В чем разница между FetchType.LAZY и FetchType.EAGER в Hibernate
`FetchType` определяет стратегию загрузки связанных сущностей:
**EAGER** – данные загружаются сразу вместе с основной сущностью (жадная загрузка).
**LAZY** – данные загружаются только при первом обращении (ленивая загрузка).
Пример:
```java
@Entity
public class Order {
@OneToMany(fetch = FetchType.EAGER) // загрузится сразу
private List- items;
@ManyToOne(fetch = FetchType.LAZY) // загрузится при обращении
private Customer customer;
}
```
**Плюсы LAZY:**
- Экономит память
- Ускоряет первоначальную загрузку
- Избегает N+1 проблем при правильном использовании
**Когда использовать EAGER:**
- Когда связанные данные всегда нужны
- Для небольших часто используемых связей
Важно: LAZY требует открытой сессии при обращении к данным, иначе будет `LazyInitializationException`.

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