2011-07-08 10 views
0

未確認の例外があるとわかりません。Hibernateチェックされていない例外はロールバックされません

私は春/休止状態を使用しています。

トランザクションでは、NullPointerExceptionがキャッチされています(チェックされていないため)が、トランザクションがロールバックされません。

NPEを投げるのと同じ方法の中でNPEを捕まえているからですか? これは私がそれを投げ、私が1から他の方法でcatchedされ、IllegalArgumentExceptionを投げるコードの他の部分から見るだけ切り抜い(およびロールバックで終わる。)である

ありがとう、

答えて

2

キャッチされない例外がトランザクションプロキシを通過すると、Springはトランザクションをロールバックします。

ラップされたメソッド内で例外をキャッチすると、トランザクションは自動的にロールバックされません。

何らかの理由で例外をキャッチする必要がある場合は、それを再スローするか、別のスロー(メソッドの契約を考えれば意味をなさない)またはトランザクションを手動でロールバックすることができます。この最後のオプションはバネの透明性を損なうことに注意してください。

関連する問題