Массовое обновление Spring JPA Repositories (Java) - PullRequest
0 голосов
/ 04 октября 2018

Весной я могу определять операции поиска и удаления, определяя «Методы запросов как имена функций»

Так что я могу сделать это без написания какой-либо логики (sql):

List<Person> findByLastName(@Param("name") String name);
List<Person> deleteByLastName(@Param("name") String name);

Но как я могу массово обновить записи без (!) Написания sql?Это не работает:

List<Person> updateByLastName(@Param("name") String name);

1 Ответ

0 голосов
/ 04 октября 2018

Что вы ожидаете от updateByLastName?Обновить каждое последнее имя, чтобы назвать?Для Spring просто недостаточно информации, чтобы понять это.Вам нужно использовать JPQL здесь.

@Transactional
@Modifying
@Query( "UPDATE Person p" +
        " SET p.age = :age " +
        " WHERE p.lastName = :lastName" )
List<Person> updateByLastName(@Param("age") int age, @Param("lastName") String lastName);
...