public abstract class AbstractFallbackSQLExceptionTranslator extends java.lang.Object implements SQLExceptionTranslator
SQLExceptionTranslator
へのフォールバックを可能にする SQLExceptionTranslator
実装の基本クラス。コンストラクターと説明 |
---|
AbstractFallbackSQLExceptionTranslator() |
修飾子と型 | メソッドと説明 |
---|---|
protected java.lang.String | buildMessage(java.lang.String task, java.lang.String sql, java.sql.SQLException ex) 指定された SQLException のメッセージ String を作成します。 |
protected abstract DataAccessException | doTranslate(java.lang.String task, java.lang.String sql, java.sql.SQLException ex) 指定された例外を実際に変換するためのテンプレートメソッド。 |
SQLExceptionTranslator | getFallbackTranslator() フォールバック例外トランスレーターがあれば、それを返します。 |
void | setFallbackTranslator(SQLExceptionTranslator fallback) デフォルトの SQL 状態フォールバックトランスレーター(通常は SQLStateSQLExceptionTranslator )をオーバーライドします。 |
DataAccessException | translate(java.lang.String task, java.lang.String sql, java.sql.SQLException ex) 引数を事前チェックし、 doTranslate(java.lang.String, java.lang.String, java.sql.SQLException) を呼び出し、必要に応じて fallback translator を呼び出します。 |
protected final Log logger
public void setFallbackTranslator(@Nullable SQLExceptionTranslator fallback)
SQLStateSQLExceptionTranslator
)をオーバーライドします。@Nullable public SQLExceptionTranslator getFallbackTranslator()
@NonNull public DataAccessException translate(java.lang.String task, @Nullable java.lang.String sql, java.sql.SQLException ex)
doTranslate(java.lang.String, java.lang.String, java.sql.SQLException)
を呼び出し、必要に応じて fallback translator
を呼び出します。SQLExceptionTranslator
の translate
task
- 試行されているタスクを説明する読み取り可能なテキスト sql
- 問題を引き起こした SQL クエリまたは更新 (既知の場合)ex
- 問題のある SQLException
SQLException
をラップする DataAccessException、または変換を適用できなかった場合は null
(カスタムトランスレータ ; このような場合、デフォルトのトランスレータは常に UncategorizedSQLException
をスローします)NestedRuntimeException.getRootCause()
@Nullable protected abstract DataAccessException doTranslate(java.lang.String task, @Nullable java.lang.String sql, java.sql.SQLException ex)
渡された引数は事前にチェックされています。さらに、このメソッドは null
を返し、例外の一致が見つからなかったこと、およびフォールバック変換が開始されることを示すことができます。
task
- 試行されているタスクを説明する読み取り可能なテキスト sql
- 問題を引き起こした SQL クエリまたは更新 (既知の場合)ex
- 問題のある SQLException
SQLException
をラップする DataAccessException。例外一致が見つからない場合は null
protected java.lang.String buildMessage(java.lang.String task, @Nullable java.lang.String sql, java.sql.SQLException ex)
SQLException
のメッセージ String
を作成します。 ジェネリクス DataAccessException
クラスのインスタンスを作成するときに、トランスレータサブクラスによって呼び出されます。
task
- 試行されているタスクを説明する読み取り可能なテキスト sql
- 問題の原因となった SQL ステートメント ex
- 問題のある SQLException
String