Встречается на собеседованиях • сегодня
Как устроены коллекции в Hibernate
Коллекции в Hibernate работают через прокси-объекты, которые реализуют интерфейсы `List`, `Set`, `Map` и т.д. Они лениво загружают данные при первом обращении и управляются Hibernate для синхронизации с БД.
**Основные типы коллекций:**
- `@OneToMany`, `@ManyToMany` – связывают сущности
- `@ElementCollection` – для встраиваемых объектов или базовых типов
**Пример:**
```java
@Entity
public class User {
@Id
private Long id;
@OneToMany(mappedBy = "user", cascade = CascadeType.ALL)
private List orders = new ArrayList<>(); // Ленивая загрузка по умолчанию
}
```
**Особенности:**
- Ленивая загрузка (`FetchType.LAZY`) по умолчанию для коллекций
- Используется `PersistentBag`, `PersistentSet` и др. вместо стандартных реализаций
- Изменения коллекции автоматически отслеживаются (если `cascade` разрешено)
- Для оптимизации можно использовать `@BatchSize` или `JOIN FETCH` в запросах
Важно избегать `N+1` проблемы через правильную настройку `fetch` стратегии.

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