Встречается на собеседованиях • сегодня

Решал ли проблему N+1

Да, решал. Проблема N+1 возникает при ленивой загрузке связанных сущностей, когда для каждой основной сущности выполняется отдельный запрос к связанным данным. Решение: 1. **Eager fetching** (не всегда оптимально) ```java @OneToMany(fetch = FetchType.EAGER) private List orders; ``` 2. **JOIN FETCH в JPQL** (лучший вариант для конкретных запросов) ```java @Query("SELECT u FROM User u JOIN FETCH u.orders WHERE u.id = :id") User findUserWithOrders(@Param("id") Long id); ``` 3. **EntityGraph** (более гибкий способ) ```java @EntityGraph(attributePaths = {"orders"}) User findWithOrdersById(Long id); ``` 4. **Batch fetching** (оптимизация для ленивой загрузки) ```properties spring.jpa.properties.hibernate.default_batch_fetch_size=20 ``` Важно выбирать подход в зависимости от конкретного сценария использования данных.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы