Весенний репозиторий: получить количество удаленных строк

#spring-data

#весна-данные

Вопрос:

Мне нужно получить количество удаленных строк с помощью пользовательского запроса Spring Repository (я реализую базовый механизм внешней блокировки для приложения и ограничен только базой данных MySQL). Как я могу этого добиться?

Ответ №1:

Создайте метод репозитория с @Modifying аннотацией, как описано здесь:

 @Modifying
@Query("delete from data where createdAt < ?1")
int retainDataBefore(Date retainDate);
  

Возвращаемое значение дает вам количество удаленных строк.

Комментарии:

1. Аналогично тому, что описано здесь: docs.spring.io/spring-data/jpa/docs/current/reference/html /…

Ответ №2:

Получение java.lang.Исключение IllegalArgumentException.

 @Modifying
@Query("delete from DETAILS where ID = ?1")
public int deleteById(String Id);
  

Комментарии:

1. Использовать :1 вместо ? 1. Как @Query(«удалить из СВЕДЕНИЙ, где ID = :1»)