在 Hibernate 中重新附加分离对象的正确方法是什么?
我遇到这样的情况:我需要将分离的对象重新附加到休眠会话,尽管会话中可能已经存在具有相同标识的对象,这将导致错误。
现在,我可以做两件事之一。
getHibernateTemplate().update( obj )
当且仅当休眠会话中尚不存在对象时,此方法才有效。当我以后需要时,会引发异常,指出会话中已存在具有给定标识符的对象。getHibernateTemplate().merge( obj )
当且仅当休眠会话中存在对象时,此方法才有效。当我需要稍后将对象放在会话中时,如果我使用它,则会引发异常。
给定这两种情况,如何一般地将会话附加到对象?我不想用异常来控制这个问题的解决方案的流程,因为一定有一个更优雅的解决方案......