我正在尝试通过JpaRepository
测试一些CRUD操作来学习spring数据JPA。
我遇到了两种方法save
和saveAndFlush
。
我看不出两者之间的区别。在调用save
时,我的更改也会保存到数据库中,所以saveAndFlush
的用途是什么。
最佳答案
在saveAndFlush
上,此命令将立即将更改刷新到DB。对于save
,这不一定是正确的,并且可能会一直保留在内存中,直到发出flush
或commit
命令为止。
但是请注意,即使刷新事务中的更改并且不提交它们,更改仍然对外部事务不可见,直到该事务中的提交为止。
在您的情况下,您可能使用某种事务处理机制,如果一切正常,它会为您发出commit
命令。