2

このアプローチが最善かどうかはわかりません。しかし、Spring JPA リポジトリ (DAO レイヤー) の例外を処理する必要があるという要件があります。意味でのハンドルは、それを UI に伝播するか、サービス層で何らかのロジックを実行することができます。

以上のリポジトリからの現在のシナリオに従って、すべての SQL 例外がランタイム例外 DataAccessException にラップされました。

この例外を UI レイヤーに伝播する場合は、サービス レイヤーでこのランタイム例外をキャッチし、この例外をカスタム例外にラップしてから伝播するよりも、1 つの方法があります。しかし、このランタイム例外をキャッチしたくありません。Spring JPA の例外トランスレーターの動作をオーバーライドし、すべての SQL 例外をカスタム チェック例外にラップする方法はありますか? これができれば、私の見解では、このアプローチの方が優れています。

4

2 に答える 2

0

Spring JPA はすべての例外を Spring の DataAccessException に変換します。DAO レイヤーでこれらの例外を処理しても害はありません。IMO、春のJPAの例外変換動作をオーバーライドできたとしても、なぜそれをするのでしょうか? それに関連するビジネス価値がないからです。

以下のスレッドでの同様の議論: Spring/JPA/JSF を使用した例外処理戦略

于 2013-05-20T14:45:58.410 に答える