Говорят, что проблема запроса N+1 возникает, когда ORM, например, Hibernate, выполняет 1 запрос для получения родительского объекта и N запросов для получения дочерних объектов. По мере увеличения количества объектов в базе данных запросы, выполняемые отдельно, могут легко повлиять на производительность приложения. В этой статье будет продемонстрировано, как возникают запросы N+1, и их решение на примере Spring Boot. Рассмотрим сервис управления контентом, в котором хранится список статей для каждой публикации. Публикация может иметь категорию и список связанных с ней статей. Ниже приведена упрощенная сущность для публикации и статьи. Публикация имеет отношение «один ко многим» с сущностью «Статья». Предположим, что в настоящее время в базе данных имеются следующие данные: публикация_1 содержит две статьи, а публикация_2 — одну статью. Теперь, когда мы пытаемся получить все публикации, относящиеся к определенной категории, скажем, технологии, используя findByCategory('technology'), сна