Встречается на собеседованиях • сегодня
Как отключить ленивую загрузку в Hibernate
В Hibernate можно отключить ленивую загрузку (lazy loading) несколькими способами:
1. **Аннотация `@Basic(fetch = FetchType.EAGER)`**
Применяется к полю сущности, чтобы загружать его сразу:
```java
@Basic(fetch = FetchType.EAGER)
private String name;
```
2. **Аннотация `@OneToMany(fetch = FetchType.EAGER)`**
Для коллекций:
```java
@OneToMany(fetch = FetchType.EAGER)
private List orders;
```
3. **HQL-запрос с `JOIN FETCH`**
Принудительно загружает связанные сущности в одном запросе:
```java
String hql = "FROM User u JOIN FETCH u.orders WHERE u.id = :id";
```
4. **Глобальная настройка в `hibernate.cfg.xml`**
```xml
false
```
**Важно!** EAGER-загрузка может привести к N+1 проблеме или избыточному расходу памяти. Используйте её осознанно.

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