我正在尝试通过 JpaRepository
测试一些 CRUD 操作来学习 spring data JPA。
我遇到了两种方法 save
和 saveAndFlush
。我不明白这两者之间的区别。在调用 save
时,我的更改也被保存到数据库中,所以 saveAndFlush
有什么用。
原文由 Anand 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在尝试通过 JpaRepository
测试一些 CRUD 操作来学习 spring data JPA。
我遇到了两种方法 save
和 saveAndFlush
。我不明白这两者之间的区别。在调用 save
时,我的更改也被保存到数据库中,所以 saveAndFlush
有什么用。
原文由 Anand 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答2.6k 阅读✓ 已解决
3 回答4.1k 阅读✓ 已解决
8 回答3.8k 阅读
4 回答2.8k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.6k 阅读✓ 已解决
4 回答1.9k 阅读
在
saveAndFlush
上,此命令中的更改将立即刷新到 DB。对于save
,这不一定是真的,并且可能只保留在内存中,直到发出flush
或commit
命令。但请注意,即使您刷新事务中的更改并且不提交它们,在提交此事务之前,外部事务仍然 看 不到这些更改。
在你的情况下,你可能使用某种交易机制,如果一切正常,它会为你发出
commit
命令。