java - Spring数据jpa中save和saveAndFlush的区别

标签 java spring hibernate jpa spring-data-jpa

我正在尝试通过 JpaRepository 测试一些 CRUD 操作来学习 Spring Data JPA。

我遇到了两种方法 savesaveAndFlush。 我不明白这两者之间的区别。在调用 save 时,我的更改也被保存到数据库中,那么 saveAndFlush 有什么用处。

最佳答案

saveAndFlush 上,更改将立即在此命令中刷新到 DB。使用 save,这不一定是正确的,并且可能只保留在内存中,直到发出 flushcommit 命令。

但请注意,即使您刷新事务中的更改并且不提交它们,在此事务中提交之前,这些更改仍然不会对外部事务可见。

在您的情况下,您可能使用某种事务机制,如果一切正常,它会为您发出 commit 命令。

关于java - Spring数据jpa中save和saveAndFlush的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21203875/

相关文章:

java - 使用 envers 获取小于特定修订版的最大修订版

java - ImageIO.createImageInputStream 返回 null,这是怎么回事?

java - 如何在 java 中为作为其他属性列表的属性编写 equals 和 hashCode 方法

java - Ant 说未设置JAVA_HOME,但是$ JAVA_HOME显示在Bash中。

java - 虚拟机是否预装了 jsp?

java - 来自另一个类的 Spring Batch MultiResourceItemReader 资源引用

java - 如何从rest webservice spring返回自定义响应

java - 如何在基于 Spring 的应用程序上使用所有 AspectJ 切入点指示符?

java - 无法写入 JSON : failed to lazily initialize a collection

hibernate - Hibernate 中的 EventType.POST_UPDATE 和 EventType.POST_COMMIT_UPDATE 有什么区别?