コードの一部として、@Transactional
注釈付きメソッド。いくつかのシナリオでは、このメソッドはカスタム例外をスローしてロールバックを実行します。これが起こるたびに、メソッドコールはTransactionSystemException
となり、オリジナルのカスタム例外(Exeptionの根本的な原因ではない)を取得することはできません。@ TransactionalメソッドによってスローされるSpringHides RuntimeException
私の方法でスローされた元の例外に何とかしてアクセスできますか? SpringがTransactionSystemExceptionをスローするのを止めても、ロールバックすることはできますか?あなたはその方法の外に例外を管理していますが、TransactionSystemException
キャッチする必要があり、その後、あなたのケースでカスタム例外としてgetApplicationException()
を呼び出すだろうか
@Transactional
public Association create(Long accountId) {
// if association already exists, throw exception
throw new ErrorInfoException(ErrorInfo.duplicateAssociation(accountId).info("This Association already exists").build());
}
これらのカスタム例外をスローするトランザクションメソッドを追加できますか? –
@MaciejKowalski私は方法の1つを編集しました。彼らはすべてかなりシンプルです – Laures
どのようにTransactionSystemExceptionからルート/元の例外を取得しようとしますか? –