English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Spring JavaのSaveとSaveAndFlushの違い

SaveおよびsaveAndFlushはエンティティの保存に使用できます。これらはすべてSpringデータベースに属しています。保存は変更をすぐにデータベースに書き込むかもしれませんが、かもしれませんがしません。saveAndFlushを呼び出すと、システムはモデルの状態をデータベースと強制的に同期します。

序号キー保存およびリフレッシュ
1
データベース
これはCrudRepositoryに属しています。
これはJPARepositoryに属しています。
2
データ反映戦略
flushおよびcommitメソッドを明示的に呼び出さない限り、データは直接データベースに反映されません。
リフレッシュはデータを直接データベースに反映します。
3
バッチ保存
CrudRepositoryはバッチ保存メソッドを提供しています。
saveAndFlushメソッドはバッチ操作をサポートしていません。
 4
保存後のデータの可见性
データは直接データベースに反映されませんので、私たちが明示的に呼び出さない限り、commit()この業務、さもなければ変更は業務外で可见ではありません。
変更も業務外で可见になります。
5
ユースケース
以後、同一業務で保存された変更を使用しない場合に、このメソッドを使用できます。
以降、同一のトランザクション内で保存された変更を使用する必要がある場合、このメソッドを使用できます。
基本チュートリアル