7

アノテーションを使用して、トランザクションで実行する必要があるメソッドをマークします。

しかし、ある場所transactionManager.rollback()では、注釈なしで手動で行う必要があります。どうすればtransactionManagerオブジェクトを取得できますか?

4

2 に答える 2

14

現在のトランザクションをロールバックする場合は、次を使用できます

    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

トランザクションをすぐにロールバックしないことに注意してください。「ロールバックのみ」ステータスを設定するため、トランザクションはコミットの試行中にロールバックされます。


それ以外の場合、プログラムによるトランザクション境界設定が必要な場合は、 10.6 プログラムによるトランザクション管理TransactionTemplateで説明されているように、 を使用できます。

また、 のインスタンスを取得することもできますが、プログラムによるトランザクションの境界設定に推奨されるアプローチであるため、PlatformTransactionManager広く使用されていません。TransactionTemplate

以下も参照してください。

于 2010-11-08T11:35:55.817 に答える
0

オブジェクトがSpringによって構成されている場合、もちろんトランザクションマネージャーを注入できます...

于 2010-12-15T21:06:11.637 に答える