我正在尝试通过JpaRepository测试一些CRUD操作来学习spring数据JPA。

我遇到了两种方法savesaveAndFlush
我看不出两者之间的区别。在调用save时,我的更改也会保存到数据库中,所以saveAndFlush的用途是什么。

最佳答案

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

但是请注意,即使刷新事务中的更改并且不提交它们,更改仍然对外部事务不可见,直到该事务中的提交为止

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

08-04 12:41