\nSpring Java 中 Save 和 SaveAndFlush 的區別\n


Save 和 saveAndFlush 都可以用於儲存實體。它們都屬於 Spring data 庫。save 可能會也可能不會立即將更改寫入資料庫。當我們呼叫 saveAndFlush 時,系統強制將模型狀態與資料庫同步。

序號關鍵點SaveSaveAndFlush
1
倉庫
屬於 CrudRepository
屬於 JPARepository
2
資料重新整理策略
除非我們顯式呼叫 flush 和 commit 方法,否則它不會直接將資料重新整理到資料庫。
它會直接將資料重新整理到資料庫。
3
批次儲存
CrudRepository 提供批次儲存方法
saveAndFlush 方法不支援批次操作
 4
儲存後資料的可見性
它不會直接將資料重新整理到資料庫,因此,除非我們在該事務中顯式呼叫 commit(),否則更改在事務外部將不可見。
更改在事務外部也將可見。
5
用例
當我們不需要在同一事務的後面使用儲存的更改時,我們使用此方法。
當我們需要在同一事務的後面使用儲存的更改時,我們使用此方法。

更新於: 2019年11月18日

5000+ 次瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告