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

В чем разница между видами FetchType в Hibernate

Разница между `FetchType.LAZY` и `FetchType.EAGER` в Hibernate заключается в стратегии загрузки связанных сущностей: **LAZY** - загружает данные только при первом обращении к ним. Оптимален для производительности, так как избегает лишних запросов. По умолчанию для `@ManyToMany` и `@OneToMany`. ```java @OneToMany(fetch = FetchType.LAZY) private List orders; ``` **EAGER** - загружает данные сразу вместе с основной сущностью. Может вызывать N+1 проблему. По умолчанию для `@ManyToOne` и `@OneToOne`. ```java @ManyToOne(fetch = FetchType.EAGER) private User user; ``` Важно: LAZY требует открытой сессии при обращении к данным, иначе будет `LazyInitializationException`. EAGER может снижать производительность при сложных графах объектов.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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