一尘不染

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

java

谁能告诉我persist()vs save()Hibernate有什么优势?


阅读 308

收藏
2020-03-21

共1个答案

一尘不染

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

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

persist()需要类似的方法。

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

2020-03-21