Spring Data JPA: 更新字段采坑记
2018-07-26 本文已影响7人
紫霞等了至尊宝五百年
JPA进行数据库数据的更新,现在总结有以下思路:
- 当需要更改的字段比较多时,可以将需要更改的字段封装在实体类当中,然后不需要更改的字段通过findone找到对应数据也封装到此实体类当中,然后调用saveandflush方法进行update。如果不将不需要更改的字段封装到实体类中save的话,会将数据库中的对应字段置空。
-
当需要更改的字段少时,例如仅仅对单个时间或者状态进行更新,可以在对应的repository添加update方法
三个注解缺一不可!!!
缺少@Modifying.报错如下!
org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML
缺少@Transactional,报错如下
nested exception is javax.persistence.TransactionRequiredException: Executing an update/delete query