Hibernate Session方法saveOrUpdate()和merge()之间有什么区别?

时间:2010-12-16 15:29:37

标签: java hibernate

Hibernate Session方法saveOrUpdate(Object)merge(Object)之间有何区别?似乎两个方法在相应表中不存在给定对象时生成SQL INSERT语句,并且在它存在时生成UPDATE

3 个答案:

答案 0 :(得分:1)

即使这是针对NHibernate的,它也适用于Hibernate:

NHibernate - Difference between session.Merge and session.SaveOrUpdate?

答案 1 :(得分:1)

如果我没记错的话,合并适用于当前未管理的非关联实例。它将基于id进行查找并合并两者。

答案 2 :(得分:1)

SaveOrUpdate versus Merge in Hibernate解释了saveOrUpdate()merge()之间的差异。