Встречается на собеседованиях • сегодня
Какие знаешь FetchType в JPA
В JPA есть два типа загрузки (`FetchType`):
1. **EAGER** – данные загружаются сразу при загрузке родительской сущности.
Пример:
```java
@ManyToOne(fetch = FetchType.EAGER)
private Department department;
```
Минус: может привести к N+1 проблеме и избыточным запросам.
2. **LAZY** – данные загружаются только при обращении к ним.
Пример:
```java
@OneToMany(fetch = FetchType.LAZY, mappedBy = "department")
private List employees;
```
Плюс: экономит ресурсы, но требует открытой транзакции при доступе.
По умолчанию:
- `@ManyToOne`, `@OneToOne` – EAGER
- `@OneToMany`, `@ManyToMany` – LAZY
Лучше чаще использовать LAZY и подгружать данные через `JOIN FETCH` или `EntityGraph` при необходимости.

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