Встречается на собеседованиях • сегодня
Сталкивался ли в Hibernate с FetchType Eager
Да, сталкивался. `FetchType.EAGER` означает жадную загрузку связанных сущностей — Hibernate загружает их сразу вместе с основной сущностью. Это может привести к N+1 проблеме или избыточным запросам, если не использовать `JOIN FETCH` в JPQL.
Пример:
```java
@Entity
public class Author {
@Id
private Long id;
@OneToMany(fetch = FetchType.EAGER, mappedBy = "author")
private List books; // Загрузится сразу при запросе Author
}
```
**Проблемы:**
- Лишние данные, если связи не нужны.
- Риск `LazyInitializationException` в отключенной сессии (если прокси нет).
**Когда использовать:**
- Если связи критичны в 90% случаев.
- Для `@ManyToOne` (по умолчанию `EAGER`), но часто лучше явно ставить `LAZY`.
Обычно предпочитают `LAZY` с явной подгрузкой через `FETCH JOIN` или `EntityGraph`.

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