public class ChainedPersistenceExceptionTranslator extends ObjectSE implements PersistenceExceptionTranslator
PersistenceExceptionTranslator
の実装。PersistenceExceptionTranslator インスタンスを順番に追加できます。最初の一致があれば non-null
を返します。コンストラクターと説明 |
---|
ChainedPersistenceExceptionTranslator() |
修飾子と型 | メソッドと説明 |
---|---|
void | addDelegate(PersistenceExceptionTranslator pet) PersistenceExceptionTranslator を連鎖デリゲートリストに追加します。 |
PersistenceExceptionTranslator[] | getDelegates() すべての登録済み PersistenceExceptionTranslator デリゲートを(配列として)返します。 |
DataAccessException | translateExceptionIfPossible(RuntimeExceptionSE ex) 可能であれば、永続フレームワークによってスローされた特定のランタイム例外を、Spring の汎用 DataAccessException 階層からの対応する例外に変換します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public final void addDelegate(PersistenceExceptionTranslator pet)
public final PersistenceExceptionTranslator[] getDelegates()
@Nullable public DataAccessException translateExceptionIfPossible(RuntimeExceptionSE ex)
PersistenceExceptionTranslator
DataAccessException
階層からの対応する例外に変換します。このトランスレータが理解できない例外は変換しないでください。たとえば、別の永続化フレームワークが原因である場合や、ユーザーコードが原因である場合や、永続性に関係のない場合などです。
特に重要なのは、制約違反などで、DataIntegrityViolationException に正しく変換することです。実装では、Spring JDBC の高度な例外変換を使用して、根本的な原因として SQLException のイベントに関する詳細情報を提供できます。
PersistenceExceptionTranslator
の translateExceptionIfPossible
ex
- 変換する RuntimeExceptionnull
。この場合、実際の永続性の問題ではなく、ユーザーコードが原因である可能性があります。)DataIntegrityViolationException
, SQLExceptionTranslator