回答編集履歴

1 指摘を受けて一部内容の誤りに気づいたため。

TetsujiMiwa

TetsujiMiwa score 783

2015/10/20 05:24  投稿

try-catchのcatchの中で、test1~test3のロールバック処理を入れれば、
整合性が保たれるかと思います。
整合性が保たれるかと思います。
ご指摘を受けて以下但し書き追記:
※上記は、コミット時の障害を回避できません。ただし複数DBに対し、コミット時のあらゆる障害に対応できるトランザクションはありませんので、これを許容’(妥協)できない場合は、単一トランザクションで管理できるようなDB設計に修正することオススメします。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る