2010-11-26 12 views
6

DBトランザクションの管理にSpring 3を使用しています。例外が発生するたびに、例外を捕捉して対応するメッセージを返します。しかし、Springがトランザクションをコミットすると、例外が再度発生し、org.springframework.dao.DataIntegrityValidationExceptionにラップされます。その例外をどうすれば処理できますか?私は傍受者か他の何かを使うべきですか?既にこの問題があった人はいますか?あなたのトランザクション境界は、あなたのサービス層(あなたがすべきものを、持っている場合)である場合は、事前catchできませんラップされたトランザクションのDataIntegrityViolationException

答えて

9

おかげで、あなたは、境界の外の例外をキャッチする必要があります。 Springが動作する仕組みは、例外がトランザクションの境界の外に飛び出してトランザクションがロールバックされる場合です。例外をキャッチすることで、そのプロセスを停止します。これはおそらく必要ありません。

インターセプタは、トランザクション境界の外で例外を処理する良い方法です。

+0

ここで私のミスはどこにあるのか分かります。ありがとう – Neuquino

関連する問題