Hibernate模型的部分更新

Don*_*ald 9 java hibernate

更新仅需要更新某些字段的模型的最佳做法是什么?

例如.

如果我有一个人模型:

姓名出生日期地址

还有一个我想要更新的表单:

地址

我目前可以看到的两个选项是:

  1. 要拥有一个只有地址的自定义表单模型 - 在回发时调用数据库来检索我的对象以填充Name和Birthdate,然后保持回DB.
  2. 自定义更新SQL以仅更新相关字段.

如果可能的话,我更愿意使用hibernate模型,所以我现在正在使用#1.

有没有更好的办法?

Nat*_*hes 6

Hibernate如何构造SQL Update可以配置为使用在类映射上调用的属性dynamic-update仅更新已更改的字段.

如果hibernate留下了有用的外观功能,默认情况下会停用它,因为需要进行权衡.链接的文档继续说:

动态更新和动态插入设置不会由子类继承,因此也可以在或元素上指定它们.虽然这些设置可以在某些情况下提高性能,但实际上可以降低其他设置的性能.

  • +1,只是要注意,如果使用注释,你可以使用`@ org.hibernate.annotations.Entity(dynamicUpdate = true)` (4认同)