アノテーションを使用して、トランザクションで実行する必要があるメソッドをマークします。
しかし、ある場所transactionManager.rollback()
では、注釈なしで手動で行う必要があります。どうすればtransactionManager
オブジェクトを取得できますか?
アノテーションを使用して、トランザクションで実行する必要があるメソッドをマークします。
しかし、ある場所transactionManager.rollback()
では、注釈なしで手動で行う必要があります。どうすればtransactionManager
オブジェクトを取得できますか?
現在のトランザクションをロールバックする場合は、次を使用できます
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
トランザクションをすぐにロールバックしないことに注意してください。「ロールバックのみ」ステータスを設定するため、トランザクションはコミットの試行中にロールバックされます。
TransactionTemplate
で説明されているように、 を使用できます。
また、 のインスタンスを取得することもできますが、プログラムによるトランザクションの境界設定に推奨されるアプローチであるため、PlatformTransactionManager
広く使用されていません。TransactionTemplate
以下も参照してください。
オブジェクトがSpringによって構成されている場合、もちろんトランザクションマネージャーを注入できます...