で注釈が付けられた単一のサービスメソッドがありPropagation.Required
ます。3つの別々の操作を実行します。
- テーブル1にレコードがない場合は、テーブルzからテーブル1に挿入します。
- ユーザーの編集/追加に従ってテーブル1を挿入/更新します
- テーブル1からxレコードを削除します
私の無知を許してください、しかしこれらすべてが単一のトランザクションの下で実行されるべきではありませんか?ある意味で、3番目のクエリで例外が発生した場合、1番目と2番目のロールバックも実行すべきではありませんか?私の場合、これは起こりません。休止状態の自動コミット設定は、txn境界に何らかの影響を及ぼしますか?私の場合、自動コミットはtrueに設定されています。私が必要としているのは、すべてが成功した場合にのみ、これらのテーブルのいずれかでコミットを実行する必要があるということです。