17 подписчиков
Спонтанно решил обратить внимание на варнинги, которые появляются в логах при запуске Spring приложения и с первого же попал на интересную штуку, в которой закопался на пару часов. Предупреждение - spring.jpa.open-in-view is enabled by default. Это предупреждение сообщает, что настройка spring.jpa.open-in-view по умолчанию включена. Когда она включена, транзакция и сессия Hibernate остаются открытыми, что позволяет выполнять дополнительные запросы к базе данных из слоев представления, если к данным происходит обращение. Самое неприятное в это риск проблемы N+1 - можно случайно вызвать дополнительные запросы, которые могли бы быть оптимизированы на уровне сервисов или репозиториев. Оказывается по данной теме много чего написано, можно начать с такой короткой статьи на хабре, если интересно - https://habr.com/ru/articles/440734/
Около минуты
15 ноября 2024