Встречается на собеседованиях • сегодня
Выполнится ли JOIN FETCH с отложенным стартом
JOIN FETCH в Hibernate работает с отложенной загрузкой (lazy loading), но при выполнении запроса он загружает связанные сущности сразу (eagerly), игнорируя ленивую загрузку. Это полезно для избежания N+1 проблемы. Пример:
```java
@Entity
class Order {
@OneToMany(mappedBy = "order", fetch = FetchType.LAZY)
List items;
}
// Запрос с JOIN FETCH
String jpql = "SELECT o FROM Order o JOIN FETCH o.items WHERE o.id = :id";
Order order = em.createQuery(jpql, Order.class)
.setParameter("id", orderId)
.getSingleResult();
// items загружены сразу, несмотря на LAZY
```
Важно: JOIN FETCH нельзя использовать с пейджинацией (setFirstResult/setMaxResults), это вызовет исключение.

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