-2
- 私はまた、テーブルBに挿入しながら、何かがうまくいかない場合は、テーブルB.
- で、その後、テーブルAの行を挿入したい、我々は2つのテーブル、テーブルAとテーブルB
- を持っていると仮定することができますテーブルの行の挿入をロールバックしたい、私は図の下で説明されてやっていること は
あなたが最良のものではありません、このアーキテクチャに固執する必要がある場合は、希望スタンドにする必要があるあなたがB DAOを使用しているときは、新しい取引をしてください。
マークで挿入を行っている方法:DAOで今
@Transactional(propagation = Propagation.REQUIRES_NEW)
public void insertB(B b) {
// insert B
}
を挿入する方法にこれを追加します。例外はBのDAOで発生したときに今
@Transactional(rollbackFor=Exception.class)
public void insertA(A a) {
// insert A
}
、そのトランザクションはロールバックされ、例外がA DAOに伝播され、そのトランザクションのロールバックも行われます(例外をキャッチしない場合、ロールバックは行われません)
画像はokですrは図を示す。しかし、あなたのコメントと質問は、絵ではなくテキストとして記入してください。それはほとんど読めるし、明らかにサイトで検索することで見つけることができません。 – Seki