【发布时间】:2021-12-01 21:38:46
【问题描述】:
如何将一个对象重新附加到一个分离的会话,并覆盖等号和哈希码方法?
这个覆盖是为了确认它是否是被附加回会话的同一个对象?
【问题讨论】:
-
任何对代码示例的引用也可以吗?
-
这里已经讨论过这个问题:stackoverflow.com/questions/912659/…
如何将一个对象重新附加到一个分离的会话,并覆盖等号和哈希码方法?
这个覆盖是为了确认它是否是被附加回会话的同一个对象?
【问题讨论】:
我认为合并是重新附加对象的正确方法。 Session.merge(obj) 的 Hibernate API 声明如下
将给定对象的状态复制到具有相同标识符的持久对象上。如果当前没有与会话关联的持久实例,它将被加载。返回持久实例。如果给定实例未保存,则保存副本并将其作为新的持久实例返回。给定的实例不会与会话关联。如果关联映射为 cascade="merge",则此操作级联到关联实例。
【讨论】: