私のアプリでは、データベースへの多くのコミットが複数の方法で順番に行われる複数のステップがあります。 例:SpringとHibernateを使用したネストされたトランザクション
A -> B -> C
-> D
->E
-> F
-> G
Aは、BがDのDはそうでEを呼び出し、呼び出し、そしてCを呼び出すBを呼び出します。これらのメソッドはすべていくつかのデータベース操作を持っています。 PROPAGATION_REQUIRED
(宣言的トランザクション管理 - 春推奨の方法)からわかるように、Eが正常に完了した場合、トランザクション(およびEの操作がコミットされます)。さて、いくつかの例外のために、Fは、ロールバックにつながるはずです。私は持っていたいすべてロールバックから何をAしました。 これは宣言的トランザクション管理を介して可能ですか?または、プログラムによるトランザクション管理を使用する必要がありますか?
ありがとうございます。
私は完全にあなたに同意しているだろうメソッドが完了するとすぐにコミットが行われるようになるまで(私はどこかを見つけることができませんでした)私はここでの理解に間違っていると思う。実際のコミットはいつ行われますか(明示的に行う必要はありません。 –
トランザクションを開始したメソッドが完了すると、コミットが発生します。この場合は「A」です。 – Bozho
大丈夫です。すばらしいです。どうもありがとうございます。 –