我正在尝试通过 JpaRepository
测试一些 CRUD 操作来学习 Spring Data JPA。
我遇到了两种方法 save
和 saveAndFlush
。
我不明白这两者之间的区别。在调用 save
时,我的更改也被保存到数据库中,那么 saveAndFlush
有什么用处。
最佳答案
在 saveAndFlush
上,更改将立即在此命令中刷新到 DB。使用 save
,这不一定是正确的,并且可能只保留在内存中,直到发出 flush
或 commit
命令。
但请注意,即使您刷新事务中的更改并且不提交它们,在此事务中提交之前,这些更改仍然不会对外部事务可见。
在您的情况下,您可能使用某种事务机制,如果一切正常,它会为您发出 commit
命令。
关于java - Spring数据jpa中save和saveAndFlush的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21203875/