Open1

SpringBoot:saveメソッドとsaveAndFlushメソッドの違い

ふじしろふじしろ

2つのメソッド

saveメソッド
エンティティへの保存(save)のみを行う。

saveAndFlushメソッド
エンティティへの保存(save)に加え、DBとの同期による変更の反映(flush)も行う。

使い分け方

saveメソッドで加えた変更はflushされていないので、そのままDBを読み込むとsaveした変更が見えない。
saveAndFlushの場合はDBとの同期も同時に行われるため、即座にDBへの変更が確認できる。