クラス AbstractFallbackSQLExceptionTranslator
java.lang.ObjectSE
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator
- 実装されているすべてのインターフェース:
SQLExceptionTranslator
- 既知の直属サブクラス
SQLErrorCodeSQLExceptionTranslator、SQLExceptionSubclassTranslator、SQLStateSQLExceptionTranslator
public abstract class AbstractFallbackSQLExceptionTranslator
extends ObjectSE
implements SQLExceptionTranslator
他の
SQLExceptionTranslator へのフォールバックやカスタムオーバーライドを可能にする SQLExceptionTranslator 実装の基本クラス。フィールドのサマリー
フィールドコンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明protected StringSEbuildMessage(StringSE task, StringSE sql, SQLExceptionSE ex) 指定されたSQLExceptionSE のメッセージStringを作成します。protected abstract DataAccessExceptiondoTranslate(StringSE task, StringSE sql, SQLExceptionSE ex) 指定された例外を実際に変換するためのテンプレートメソッド。カスタム例外トランスレータがある場合は、それを返します。フォールバック例外トランスレーターがあれば、それを返します。voidsetCustomTranslator(SQLExceptionTranslator customTranslator) カスタム例外トランスレーターを設定して、このトランスレーターが検出した一致をオーバーライドします。voidsetFallbackTranslator(SQLExceptionTranslator fallback) このトランスレーター自体が特定の一致を見つけられない場合に使用するフォールバックトランスレーターを設定します。translate(StringSE task, StringSE sql, SQLExceptionSE ex) 引数を事前チェックし、doTranslate(java.lang.String, java.lang.String, java.sql.SQLException)を呼び出し、必要に応じてfallback translatorを呼び出します。
フィールドの詳細
logger
サブクラスで利用可能なロガー。
コンストラクターの詳細
AbstractFallbackSQLExceptionTranslator
public AbstractFallbackSQLExceptionTranslator()
メソッドの詳細
setFallbackTranslator
このトランスレーター自体が特定の一致を見つけられない場合に使用するフォールバックトランスレーターを設定します。getFallbackTranslator
フォールバック例外トランスレーターがあれば、それを返します。setCustomTranslator
カスタム例外トランスレーターを設定して、このトランスレーターが検出した一致をオーバーライドします。このようなカスタムSQLExceptionTranslatorデリゲートは、それ自体にオーバーライドがない場合にnullを返すことを意図していることに注意してください。- 導入:
- 6.1
getCustomTranslator
カスタム例外トランスレータがある場合は、それを返します。translate
@Nullable public DataAccessException translate(StringSE task, @Nullable StringSE sql, SQLExceptionSE ex) 引数を事前チェックし、doTranslate(java.lang.String, java.lang.String, java.sql.SQLException)を呼び出し、必要に応じてfallback translatorを呼び出します。- 次で指定:
- インターフェース
SQLExceptionTranslatorのtranslate - パラメーター:
task- 試行されているタスクを説明する読み取り可能なテキストsql- 問題を引き起こした SQL クエリまたは更新 (既知の場合)ex- 問題のあるSQLException- 戻り値:
SQLExceptionをラップする DataAccessException、または特定の変換を適用できない場合はnull- 関連事項:
doTranslate
@Nullable protected abstract DataAccessException doTranslate(StringSE task, @Nullable StringSE sql, SQLExceptionSE ex) 指定された例外を実際に変換するためのテンプレートメソッド。渡された引数は事前にチェックされています。さらに、このメソッドは
nullを返し、例外の一致が見つからなかったこと、およびフォールバック変換が開始されることを示すことができます。- パラメーター:
task- 試行されているタスクを説明する読み取り可能なテキストsql- 問題を引き起こした SQL クエリまたは更新 (既知の場合)ex- 問題のあるSQLException- 戻り値:
SQLExceptionをラップする DataAccessException。例外一致が見つからない場合はnull
buildMessage
指定されたSQLExceptionSE のメッセージStringを作成します。ジェネリクス
DataAccessExceptionクラスのインスタンスを作成するときに、トランスレータサブクラスによって呼び出されます。- パラメーター:
task- 試行されているタスクを説明する読み取り可能なテキストsql- 問題の原因となった SQL ステートメントex- 問題のあるSQLException- 戻り値:
- 使用するメッセージ
String