如何避免jpa中的盲目更新?

时间:2015-04-24 12:34:34

标签: java hibernate jpa

如果我使用merge更新记录,即使我正在设置单个属性/列,生成的hibernate查询也会包含所有列。有什么解决方案可以避免这种盲目的更新?只有设置列必须进入hibernate查询。

1 个答案:

答案 0 :(得分:0)

您要查找的属性是特定于Hibernate(非JPA兼容)的动态更新属性。

这里有一些关于这个问题的讨论:

http://www.mkyong.com/hibernate/hibernate-dynamic-update-attribute-example/

但请注意,由于Hibernate特定的@Entity注释已在版本4+中弃用,而不是上面概述的解决方案,如果您使用的是Hibernate 4+,则应使用@DynamicUpdate注释:

https://docs.jboss.org/hibernate/orm/4.1/javadocs/org/hibernate/annotations/DynamicUpdate.html

@Entity
@DynamicUpdate
public class MyEntity{

}