一尘不染

在Hibernate中,persist()与save()的优点是什么?

hibernate

谁能告诉我persist()vs save()hibernate的优势是什么?


阅读 342

收藏
2020-06-20

共1个答案

一尘不染

从此论坛帖子

persist()定义明确。它使瞬态实例持久化。但是,它不能保证将标识符值立即分配给持久性实例,分配可能在刷新时发生。规范没有这么说,这是我的问题persist()

persist()还保证如果在事务边界之外调用它,则不会执行INSERT语句。这在具有扩展会话/持久性上下文的长时间对话中很有用。

persist()需要类似的方法。

save()不能保证相同,它返回一个标识符,如果必须执行INSERT来获取标识符(例如,“ identity”生成器,而不是“
sequence”),则无论您位于内部还是外部,此INSERT都会立即发生交易。在具有扩展的会话/持久性上下文的长时间对话中,这不好。

2020-06-20