我需要根据提供的id在数据库中进行多次更新。现在我正在遍历id列表并一次又一次调用存储库的update函数,但这效率不高。我想知道是否存在这是我可以通过将id列表和另一个新字段值列表作为参数传递来在一个rest调用中进行批量更新的一种方法。在此先感谢您的帮助。
现在我一次又一次调用此方法以更新值。但是,这根本没有效率:
@Transactional
@Modifying
@Query("UPDATE Student c SET c.rollNo= :rollNo WHERE c.id = :id")
void updateStudentRollNo(@Param("id") long id, @Param("rollNo") String rollNo);
答案 0 :(得分:0)
如果您有Student
实体,您在其中调用方法updateStudentRollNo
,则可以调用repository.saveAll(students)
,这将在列表上进行更新。您尝试做的方法是不可能的,因为每个学生都有不同的rollNo,因此无法进行这样的批量更新。