回答:
でsaveAndFlush
、変更は、このコマンドですぐにDBにフラッシュされます。ではsave
、これは必ずしも当てはまりません。flush
またはcommit
コマンドが発行されるまで、メモリ内にとどまることがあります。
ただし、トランザクションの変更をフラッシュしてコミットしない場合でも、このトランザクションでコミットするまで、変更は外部のトランザクションに表示されないことに注意してください。
あなたのケースでは、おそらく何らかのトランザクションメカニズムを使用commit
していますが、すべてがうまくいくとコマンドが発行されます。
使用している休止状態フラッシュモード(AUTO
デフォルト)にsave
応じて、変更をすぐにDBに書き込む場合と書き込まない場合があります。呼び出すsaveAndFlush
と、モデルの状態とDBの同期が強制されます。
フラッシュモードAUTOを使用し、アプリケーションを使用して最初に保存してから再度データを選択する場合、selectが最初にフラッシュをトリガーするため、save()
との動作に違いはありませんsaveAndFlush()
。ドキュメントを参照してください。
save
がエンティティと同じものである場合save
、たとえば、2番目のコマンドで複製の例外がスローされないということですか?