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

Какие знаешь стратегии загрузки данных в Hibernate

Hibernate поддерживает несколько стратегий загрузки данных: 1. **Eager Loading** – данные загружаются сразу при запросе сущности. Пример: ```java @ManyToOne(fetch = FetchType.EAGER) private Department department; ``` 2. **Lazy Loading** – данные загружаются только при обращении к полю (по умолчанию для `@ManyToMany`, `@OneToMany`). Пример: ```java @OneToMany(fetch = FetchType.LAZY, mappedBy = "employee") private List tasks; ``` 3. **Batch Loading** – оптимизация для Lazy Loading, загружает несколько связанных сущностей одним запросом. Пример: ```java @BatchSize(size = 10) @OneToMany(fetch = FetchType.LAZY) private Set orders; ``` 4. **Join Fetch** – загрузка через `JOIN FETCH` в JPQL/HQL для исключения N+1 проблемы. Пример: ```java "SELECT e FROM Employee e JOIN FETCH e.department" ``` 5. **Subselect Fetch** – загружает все связанные коллекции одним подзапросом. Пример: ```java @OneToMany(fetch = FetchType.LAZY) @Fetch(FetchMode.SUBSELECT) private List comments; ```
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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