我正在使用hibernate合并方法,来处理来自实体的分离实例,我认为这个方法的返回将是一个新的数据库提取实例作为hibernate saveOrUpdate方法,但事实并非如此,我认为这是逻辑,因为它是一个分离的实例,所以有更好的方法来返回新实例而不是使用findById,
的问候,
答案 0 :(得分:1)
merge
方法将传递的对象的状态复制到具有相同标识符的持久实体(已经与会话关联或将被加载),然后返回对该持久实体的引用。作为参数传递的对象未附加到会话。
所以,除非我不理解这个问题,否则我认为你应该这样做:
Foo mergedFoo = session.merge(foo);