質問

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

しかし、ある場所で私はする必要があります transactionManager.rollback() 手動で、注釈なし。どうすれば入手できますか transactionManager 物体?

役に立ちましたか?

解決

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

    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

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


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

また、のインスタンスを取得できます PlatformTransactionManager, 、しかし、それ以来広く使用されていません TransactionTemplate プログラマティックトランザクションの境界に推奨されるアプローチです。

参照:

他のヒント

あなたのオブジェクトが春までに構成されている場合、あなたはコースからトランザクションマネージャーをそこに注入することができます...

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top