在春季,我可以通过定义“查询方法作为函数名称”来定义搜索和删除操作
因此,我无需编写任何逻辑(sql)就可以做到这一点:
List<Person> findByLastName(@Param("name") String name);
List<Person> deleteByLastName(@Param("name") String name);
但是如何在不编写SQL的情况下批量更新条目呢?这不起作用:
List<Person> updateByLastName(@Param("name") String name);
答案 0 :(得分:0)
您希望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);