首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hibernate动态更新

Hibernate动态更新
EN

Stack Overflow用户
提问于 2011-12-14 16:27:57
回答 1查看 727关注 0票数 0

我从这里中了解到,hibernate可以配置为只更新已修改的实体的字段,而不是实体的所有字段(即使它们没有被更改)。这是默认行为。

我的问题是,为什么后者是默认行为,难道不应该只更新修改过的字段才是默认行为吗?

而且,为什么它甚至支持未经修改的字段的更新?是否有理由更新未经修改的字段?

EN

回答 1

Stack Overflow用户

发布于 2011-12-14 17:00:19

我的问题是,为什么后者是默认行为,难道不应该只更新修改过的字段才是默认行为吗?

因为只更新修改过的字段是很昂贵的,如果有大量的属性被应用程序修改,那么在它的大部分业务逻辑中。因为它包括脏检查(这是另一个用于识别修改字段的select查询)。当有20个字段且只有少数字段被修改时,这种动态更新是很好的(因为在DML语句中可以添加很少的列来执行,从而获得性能)。如果超过50%的字段被修改,那么更新所有属性是很好的。因此,开发人员可以选择只更新修改过的字段。

希望我的意见能帮助你理解这一点。如果我错了,专家们请纠正我。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8508000

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档