\nSpring Java 中 Save 和 SaveAndFlush 的區別\n
Save 和 saveAndFlush 都可以用於儲存實體。它們都屬於 Spring data 庫。save 可能會也可能不會立即將更改寫入資料庫。當我們呼叫 saveAndFlush 時,系統強制將模型狀態與資料庫同步。
序號 | 關鍵點 | Save | SaveAndFlush |
---|---|---|---|
1 | 倉庫 | 屬於 CrudRepository | 屬於 JPARepository |
2 | 資料重新整理策略 | 除非我們顯式呼叫 flush 和 commit 方法,否則它不會直接將資料重新整理到資料庫。 | 它會直接將資料重新整理到資料庫。 |
3 | 批次儲存 | CrudRepository 提供批次儲存方法 | saveAndFlush 方法不支援批次操作 |
4 | 儲存後資料的可見性 | 它不會直接將資料重新整理到資料庫,因此,除非我們在該事務中顯式呼叫 commit(),否則更改在事務外部將不可見。 | 更改在事務外部也將可見。 |
5 | 用例 | 當我們不需要在同一事務的後面使用儲存的更改時,我們使用此方法。 | 當我們需要在同一事務的後面使用儲存的更改時,我們使用此方法。 |
廣告