谁能告诉我在 Hibernate中persist()vs的优势是什么?save()
persist()
save()
从这个论坛帖子
persist()定义明确。它使瞬态实例持久化。但是,它不能保证标识符值将立即分配给持久实例,分配可能发生在刷新时间。规范没有这么说,这是我遇到的问题persist()。 persist()还保证如果在事务边界之外调用它,它不会执行 INSERT 语句。这在具有扩展会话/持久性上下文的长时间运行的对话中很有用。 需要类似的方法persist()。 save()不保证相同,它返回一个标识符,如果必须执行 INSERT 以获取标识符(例如“身份”生成器,而不是“序列”),则无论您是在内部还是外部,此 INSERT 都会立即发生一笔交易。这在具有扩展会话/持久性上下文的长期对话中不好。
persist()定义明确。它使瞬态实例持久化。但是,它不能保证标识符值将立即分配给持久实例,分配可能发生在刷新时间。规范没有这么说,这是我遇到的问题persist()。
persist()还保证如果在事务边界之外调用它,它不会执行 INSERT 语句。这在具有扩展会话/持久性上下文的长时间运行的对话中很有用。
需要类似的方法persist()。
save()不保证相同,它返回一个标识符,如果必须执行 INSERT 以获取标识符(例如“身份”生成器,而不是“序列”),则无论您是在内部还是外部,此 INSERT 都会立即发生一笔交易。这在具有扩展会话/持久性上下文的长期对话中不好。