Встречается на собеседованиях • сегодня
В какой момент прогружается поле в Hibernate
Поля в Hibernate загружаются лениво (lazy) или сразу (eager) в зависимости от стратегии загрузки. По умолчанию:
- Примитивы и `@Basic` поля загружаются сразу при запросе сущности.
- `@OneToMany` и `@ManyToMany` — лениво (при первом обращении).
- `@ManyToOne` и `@OneToOne` — eagerly, но можно изменить аннотацией `@Lazy`.
Пример:
```java
@Entity
public class User {
@Id
private Long id;
@Basic // загрузится сразу
private String name;
@OneToMany(fetch = FetchType.LAZY) // загрузится при обращении
private List orders;
}
```
Загрузка происходит при:
1. Вызове геттера (для lazy).
2. Явном запросе через HQL/JPA-запрос (если указаны нужные поля).
3. Использовании `FetchType.EAGER` или `JOIN FETCH` в запросе.

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