spring data jpa 关于update时空值属性的处理,与@DynamicUpdate使用误区

Spring Data Jpa更新时无法跳过空值属性,网上大部分的解决办法都说使用动态更新注解会自动跳过空值,实际上这当中有一个比较大的误区

@Dynamic Update注解的正确含义是动态更新属性值发生改变的属性,即只更新值发生改变的属性,值不发生改变的属性不进行更新,当有值从非空变为空时,显然是在更新之列中。

解决非空属性的更新问题

一种办法可以使用@Query配合@Modify注解自定义更新字段,但是这样就无法使用spring data 的级联操作,而且要写复杂的sql语句
第二种方法是补齐空值字段,个人比较推荐,不过也不是很方便

如果我说的不对,或者大家有什么其他方法欢迎交流分享

你可能感兴趣的:(spring data jpa 关于update时空值属性的处理,与@DynamicUpdate使用误区)