このアプローチが最善かどうかはわかりません。しかし、Spring JPA リポジトリ (DAO レイヤー) の例外を処理する必要があるという要件があります。意味でのハンドルは、それを UI に伝播するか、サービス層で何らかのロジックを実行することができます。
以上のリポジトリからの現在のシナリオに従って、すべての SQL 例外がランタイム例外 DataAccessException にラップされました。
この例外を UI レイヤーに伝播する場合は、サービス レイヤーでこのランタイム例外をキャッチし、この例外をカスタム例外にラップしてから伝播するよりも、1 つの方法があります。しかし、このランタイム例外をキャッチしたくありません。Spring JPA の例外トランスレーターの動作をオーバーライドし、すべての SQL 例外をカスタム チェック例外にラップする方法はありますか? これができれば、私の見解では、このアプローチの方が優れています。