1

我在这里扩展我的问题:Spring Data JPA Auditing not working for the JpaRepository update method with @Modifying annotation,为什么?. 我正在使用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() 的方法。这会是一个好习惯吗?有什么最好的方法吗?

4

1 回答 1

2

Hibernate 提供了一个注解@DynamicUpdate来只更新实体的修改字段。

于 2019-08-18T15:42:04.657 回答