Встречается на собеседованиях • сегодня
Сколько сгенерируется запросов при поиске в связке двух таблиц
При использовании Hibernate с ленивой загрузкой (по умолчанию) в связке двух таблиц через `@ManyToOne` или `@OneToMany`:
1. Первый запрос - для основной таблицы
2. N запросов - для связанных сущностей (проблема N+1)
Пример:
```java
@Entity
class Order {
@ManyToOne(fetch = FetchType.LAZY)
private Customer customer;
}
// Вызовет 1 запрос для заказов + N для покупателей
List orders = session.createQuery("from Order").list();
```
Решение проблемы:
- Использовать `JOIN FETCH` в HQL
- Включить пакетную загрузку (`@BatchSize`)
- Использовать `@EntityGraph` в Spring Data JPA
Оптимальное количество запросов - 1 при правильной настройке.

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