この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 16200|答える: 0

[出典] Spring JPAセーブとsaveAndFlushの違い

[リンクをコピー]
掲載地 2019/04/01 16:39:22 | | |
saveAndFlushでは、このコマンドの変更が即座にデータベースに更新されます。 セーブの場合、これは必ずしも当てはまらず、フラッシュやコミットコマンドが発行されるまでメモリに残ることもあります。

ただし、トランザクションで変更をリフレッシュしてコミットしなくても、変更はこのトランザクションでコミットされるまで外部トランザクションには見えません。

あなたの場合は、問題なければコミットコマンドを発行するトランザクションメカニズムを使っているのかもしれません。

JPAのsaveAndFlush()メソッドを使ってください

実装、増強、修正

注:制御層はパラメータをフィルタリングする必要があります。

saveAndFlush このメソッドはまず、ID==nullに基づいてパーシストメソッドかマージメソッドを使うかを決定します。
IDがデータベースに記録されているかどうかで、挿入か更新かを決定します

Javaのソースコードをデコンパイルすることで違いを探ります

インターフェースの実装を見つけるIDEA_ショートカット

IDEA スタイル ctrl + alt +B

Eclipseスタイル ctrl +T


セーブインターフェース:

実施方法:

saveAndFlushインターフェース:
実施方法:

ソースコードからもわかるように、saveAndFlushメソッドを呼び出したところ、saveAndFlushは私たちのsaveメソッドを呼び出し、その後フラッシュメソッドを呼び出します

(終わり)





先の:コマンドラインが長すぎます。 itsvseのコマンドラインを短縮するか、それとも...
次に:Nginxのリバースプロキシとコンテンツ置換モジュールを使って動的なウェブコンテンツ置換を実装してください
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com