Что такое @Modifying и зачем он нужен вместе с @Query?

Middle
235 просмотров
AFK Offer AI

@Modifying говорит Spring Data что запрос изменяет данные — нужен для UPDATE/DELETE в @Query. Без него Spring Data считает это SELECT и бросает исключение. @Modifying(clearAutomatically=true) сбрасывает persistence context после выполнения — важно чтобы кешированные entities обновились. Пример: @Modifying @Query("UPDATE User u SET u.active=false WHERE u.lastLogin < :date") int deactivateInactiveUsers(@Param("date") LocalDate date). Возвращает количество затронутых строк.

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

Как оптимизировать startup-time Spring Boot?