何时在 save() 之前使用 merge()?

Posted

技术标签:

【中文标题】何时在 save() 之前使用 merge()?【英文标题】:When to use merge() before save()? 【发布时间】:2012-03-28 09:33:33 【问题描述】:

我只是好奇何时在休眠中保存对象之前使用merge() 方法。 我看到了一个使用merge() 的示例,然后使用与另一个对象具有多对多关系的对象进行保存。

示例使用合并:Role 具有 ManyToManyPermission,它在保存之前在 Role 对象中设置 ListPermission

那么,当保存的对象与其他对象有关系时,是否只有这种情况?

我需要好的解释和用例。

【问题讨论】:

【参考方案1】:

Hibernte 合并方法将强制 Hibernate 将任何来自其他分离实例的更改复制到您要保存的实例上,从而在保存之前合并内存中的所有更改。

请参阅下面的这些帖子,详细了解差异和示例..

Different methods

This has more detailed explanation with an example

希望这会有所帮助。

【讨论】:

以上是关于何时在 save() 之前使用 merge()?的主要内容,如果未能解决你的问题,请参考以下文章

save()/saveOrUpdate()/merge()的区别

save(),saveOrUpdate(),merge()的区别

save(),saveOrUpdate(),merge()的区别

save(),saveOrUpdate(),merge()的区别

save(),saveOrUpdate(),merge()的区别

何时在 django 中使用 pre_save、save、post_save?