クラス AbstractFallbackSQLExceptionTranslator
java.lang.ObjectSE
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator
- 実装されたすべてのインターフェース:
SQLExceptionTranslator
- 既知の直属サブクラス
SQLErrorCodeSQLExceptionTranslator
、SQLExceptionSubclassTranslator
、SQLStateSQLExceptionTranslator
public abstract class AbstractFallbackSQLExceptionTranslator
extends ObjectSE
implements SQLExceptionTranslator
他の
SQLExceptionTranslator
へのフォールバックやカスタムオーバーライドを可能にする SQLExceptionTranslator
実装の基本クラス。フィールドサマリー
フィールドコンストラクターのサマリー
コンストラクター方法の概要
修飾子と型メソッド説明protected StringSE
buildMessage
(StringSE task, StringSE sql, SQLExceptionSE ex) 指定されたSQLException
SE のメッセージString
を作成します。protected abstract DataAccessException
doTranslate
(StringSE task, StringSE sql, SQLExceptionSE ex) 指定された例外を実際に変換するためのテンプレートメソッド。カスタム例外トランスレータがある場合は、それを返します。フォールバック例外トランスレーターがあれば、それを返します。void
setCustomTranslator
(SQLExceptionTranslator customTranslator) カスタム例外トランスレーターを設定して、このトランスレーターが検出した一致をオーバーライドします。void
setFallbackTranslator
(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
指定されたSQLException
SE のメッセージString
を作成します。ジェネリクス
DataAccessException
クラスのインスタンスを作成するときに、トランスレータサブクラスによって呼び出されます。- パラメーター:
task
- 試行されているタスクを説明する読み取り可能なテキストsql
- 問題の原因となった SQL ステートメントex
- 問題のあるSQLException
- 戻り値:
- 使用するメッセージ
String