Hibernate Session 方法 saveOrUpdate(Object) 和 merge(Object) 有什么区别? 当给定对象在相应的表中不存在时,似乎这两种方法都会生成一个 SQL INSERT 语句,并在存在时生成一个 UPDATE。
Hibernate Session 方法 saveOrUpdate(Object) 和 merge(Object) 有什么区别? 当给定对象在相应的表中不存在时,似乎这两种方法都会生成一个 SQL INSERT 语句,并在存在时生成一个 UPDATE。
Merge()
和SaveOrUpdate()
产生完全相同的结果。(评论者指出SaveOrUpdate()
只是委托给了Merge()
。) - Derek Mahar如果我记得没错的话,合并(merge)是用于没有关联实例且当前未被管理的情况。它会根据 ID 进行查找并合并这两个实例。
merge()
加载一个不在会话中的对象,而saveOrUpdate()
则不会。这是否意味着saveOrUpdate()
对于部分对象的更新会覆盖所有字段,而merge()
仅覆盖已设置为非空值的字段?还是两者产生相同的结果? - Derek Mahar