gpt4 book ai didi

java - hibernate 是否检查对象是否实际上已更改,还是假设 setter 是否被调用?

转载 作者:行者123 更新时间:2023-12-01 16:58:31 27 4
gpt4 key购买 nike

我正在使用 Hibernate 和 Spring 框架,并遇到了机会锁定,所以我有一个基本问题:

一旦调用对象的 setter,Hibernate 是否会认为该对象“已更改/脏”,例如:theEmployee.setAge(32),即使 age 已经存在已经32,它将被视为“已更改”,或者 Hibernate 会发现即使调用了 setter,对象实际上也没有被更改?

换句话说,如果我想防止不必要的写入,是否有必要编码:

if (theEmployee.getAge() != age) { theEmployee.setAge(age); }

...或者编写代码就足够了:theEmployee.setAge(age);

最佳答案

你可以很容易地测试这个。但答案是 Hibernate 测试对象的实际状态。如果对象状态与加载时相同,则不会执行任何更新查询。

关于java - hibernate 是否检查对象是否实际上已更改,还是假设 setter 是否被调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29732047/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com