public abstract class AbstractFallbackSQLExceptionTranslator extends Object implements SQLExceptionTranslator
SQLExceptionTranslator implementations that allow for
 fallback to some other SQLExceptionTranslator.| Modifier and Type | Field and Description | 
|---|---|
| protected Log | loggerLogger available to subclasses. | 
| Constructor and Description | 
|---|
| AbstractFallbackSQLExceptionTranslator() | 
| Modifier and Type | Method and Description | 
|---|---|
| protected String | buildMessage(String task,
            String sql,
            SQLException ex)Build a message  Stringfor the givenSQLException. | 
| protected abstract DataAccessException | doTranslate(String task,
           String sql,
           SQLException ex)Template method for actually translating the given exception. | 
| SQLExceptionTranslator | getFallbackTranslator()Return the fallback exception translator, if any. | 
| void | setFallbackTranslator(SQLExceptionTranslator fallback)Override the default SQL state fallback translator
 (typically a  SQLStateSQLExceptionTranslator). | 
| DataAccessException | translate(String task,
         String sql,
         SQLException ex)Pre-checks the arguments, calls  doTranslate(java.lang.String, java.lang.String, java.sql.SQLException), and invokes thefallback translatorif necessary. | 
protected final Log logger
public AbstractFallbackSQLExceptionTranslator()
public void setFallbackTranslator(@Nullable SQLExceptionTranslator fallback)
SQLStateSQLExceptionTranslator).@Nullable public SQLExceptionTranslator getFallbackTranslator()
@Nullable public DataAccessException translate(String task, @Nullable String sql, SQLException ex)
doTranslate(java.lang.String, java.lang.String, java.sql.SQLException), and invokes the
 fallback translator if necessary.translate in interface SQLExceptionTranslatortask - readable text describing the task being attemptedsql - the SQL query or update that caused the problem (if known)ex - the offending SQLExceptionSQLException,
 or null if no specific translation could be appliedNestedRuntimeException.getRootCause()@Nullable protected abstract DataAccessException doTranslate(String task, @Nullable String sql, SQLException ex)
The passed-in arguments will have been pre-checked. Furthermore, this method
 is allowed to return null to indicate that no exception match has
 been found and that fallback translation should kick in.
task - readable text describing the task being attemptedsql - the SQL query or update that caused the problem (if known)ex - the offending SQLExceptionSQLException;
 or null if no exception match foundprotected String buildMessage(String task, @Nullable String sql, SQLException ex)
String for the given SQLException.
 To be called by translator subclasses when creating an instance of a generic
 DataAccessException class.
task - readable text describing the task being attemptedsql - the SQL statement that caused the problemex - the offending SQLExceptionString to use