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