Встречается на собеседованиях • сегодня
Какие знаешь ограничения Hibernate в использовании Lazy объектов
Lazy-загрузка в Hibernate может вызывать `LazyInitializationException`, если попытаться обратиться к неинициализированному объекту вне сессии. Это происходит, например, когда коллекция или прокси-объект загружаются лениво, а сессия уже закрыта.
Пример:
```java
@Entity
public class Order {
@OneToMany(fetch = FetchType.LAZY)
private List- items;
}
// В сервисе:
Order order = session.get(Order.class, 1L);
session.close();
order.getItems().size(); // LazyInitializationException
```
**Ограничения:**
- Ленивая загрузка требует открытой сессии или использования `Hibernate.initialize()`
- Проблемы с сериализацией (например, в REST-контроллерах)
- N+1 проблема при неаккуратном использовании
- Ограниченная поддержка в некоторых методах (например, `equals()`/`hashCode()`)
**Решение:** Использовать `JOIN FETCH` в запросах, открывать сессию в представлении (Open Session in View) или заранее инициализировать нужные объекты.

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