java这个结构什么时候有意义?
有时为了更好地更新对象,我可以这样写:
session.merge(object);
但有时这还不够,我必须写作
object1 = session.merge(object);
session.update(object1);
你能给我解释一下这两种方法的不同之处吗
你可以在下面搜索框中键入要查询的问题!
有时为了更好地更新对象,我可以这样写:
session.merge(object);
但有时这还不够,我必须写作
object1 = session.merge(object);
session.update(object1);
你能给我解释一下这两种方法的不同之处吗
# 1 楼答案
从Hibernate SessionJavadoc:
merge(Object o)
将给定对象的状态复制到具有相同标识符的持久对象上。如果当前没有与会话关联的持久实例,则将加载它。返回持久实例。如果给定实例未保存,请保存其副本并将其作为新的持久实例返回。给定实例不会与会话关联。如果关联映射为^{,则此操作级联到关联实例
update(Object o)
使用给定分离实例的标识符更新持久实例。如果存在具有相同标识符的持久实例,则会引发异常。如果关联映射为^{,则此操作级联到关联实例
在以下链接中,您可以找到有关的其他信息: