相关疑难解决方法(0)

Hibernate如何检测实体对象的脏状态?

它是否使用某种字节码修改原始类?

或者,也许Hibernate通过将给定对象与以前持久化的版本进行比较来获得脏状态?

我遇到了复杂对象的问题hashCode()equals()方法.如果对象具有集合成员,并且循环引用也是一个问题,我觉得计算哈希代码会很慢.

如果Hibernate不会使用hashCode()/ equals()来检查脏状态,我想我不应该使用equals()/ hashCode()作为实体对象(而不是值对象),但我也担心如果相同的operator(==)是不够的.

所以,问题是:

  1. Hibernate如何知道对象的属性是否发生了变化?

  2. 你建议覆盖复杂对象的hashCode()/ equals()方法吗?如果它们包含循环引用怎么办?

    并且,

  3. hashCode()/ equals()只有这个id领域就足够了?

java orm identity entity-relationship hibernate

59
推荐指数
3
解决办法
4万
查看次数

标签 统计

entity-relationship ×1

hibernate ×1

identity ×1

java ×1

orm ×1