我在这里扩展我的问题:Spring Data JPA Audit不适用于带有@Modifying注释的JpaRepository更新方法,为什么?我正在使用Spring Boot + Spring Data JPA
.
我已经开发了更新
@Modifying(clearAutomatically = true)
@Query("UPDATE Student s SET s.studentDescription=:stuDesc, s.studentId=:studentId, s.sivisionCode=:cd, "
+ "s.status=:status, s.firstName=:firstName, s.lastName=:lastName, s.email=:email WHERE s.studentName=:stuName")
void updateStudent(@Param("stuName") String studentName,
@Param("stuDesc") String studentDescription,
@Param("studentId") String studentId,
@Param("cd") String cd,
@Param("firstName") String firstName,
@Param("lastName") String lastName,
@Param("email") String email,
.........
...........
.........
..........
// 8 more parameters here
...........
@Param("status") String status);
注意:我知道这种方式代码工作,它只更新我正在传递的那些字段。但我试图了解在这里更新学生记录的最佳方法。
获取学生记录并设置更新值和 save(( 的另一种方法。这会是好的做法吗?有什么最好的方法可以做到这一点吗?
Hibernate提供了一个注释@DynamicUpdate,以仅更新实体的修改字段。