在 Hibernate 中调用 merge() 方法

Posted

技术标签:

【中文标题】在 Hibernate 中调用 merge() 方法【英文标题】:Calling the merge() method in Hibernate 【发布时间】:2019-03-28 04:34:54 【问题描述】:

Hibernate 中的merge() 是在数据库中保存数据还是只是将对象附加到持久状态?后续是否需要调用update()方法来持久化状态?

【问题讨论】:

这个问题得到了一些负面评价并且被否决了,但这一切都发生在我编辑它之前。也许现在这个问题比我编辑它之前更好。 如果你想在不知道会话状态的情况下随时保存你的修改,那么在休眠中使用merge()。您需要调用update() 将修改保存在数据库中。 【参考方案1】:

merge() 只是将对象添加到事务单元,之后的任何操作都将成为内存中更改日志的一部分。必须显式调用更新才能保持状态。

【讨论】:

以上是关于在 Hibernate 中调用 merge() 方法的主要内容,如果未能解决你的问题,请参考以下文章

Save()saveOrUpdate()Hibernate的merge()方法

谁懂得hibernate的merge方法?

Hibernate中Session的save()update()merge()lock()saveOrUpdate()和persist()方法的区别

在 merge() 操作中丢失复合外键(JPA/Hibernate)

Hibernate中的merge方法

Hibernate的merge()方法