Чем N+1 problem отличается от fetch join и когда что выбрать?

JavaMiddleSpring Data JPA и HibernateСравнениеjava|spring data jpa и hibernate|n+1|n+1 problem

Что хотят услышать интервьюеры:

Сравнение: N+1 problem стоит сравнивать с fetch join по критериям читаемости, безопасности, производительности, тестируемости и поддержки командой.

Ответ:

Когда выбирать N+1 problem: когда его свойства прямо соответствуют задаче: N+1 возникает, когда для каждой строки выполняется отдельный запрос связи.

Слабый ответ: “так принято в Spring/Java”. На собеседовании лучше объяснить ограничения и цену выбора.

select u from User u join fetch u.orders

Источники

Похожие вопросы