public class SQLExceptionSubclassTranslator extends AbstractFallbackSQLExceptionTranslator
SQLExceptionTranslator
implementation which analyzes the specific
SQLException
subclass thrown by the JDBC driver.
This is only available with JDBC 4.0 and later drivers when using Java 6 or later.
Falls back to a standard SQLStateSQLExceptionTranslator
if the JDBC driver
does not actually expose JDBC 4 compliant SQLException
subclasses.
SQLTransientException
,
SQLTransientException
,
SQLRecoverableException
logger
Constructor and Description |
---|
SQLExceptionSubclassTranslator() |
Modifier and Type | Method and Description |
---|---|
protected DataAccessException |
doTranslate(String task,
String sql,
SQLException ex)
Template method for actually translating the given exception.
|
buildMessage, getFallbackTranslator, setFallbackTranslator, translate
protected DataAccessException doTranslate(String task, String sql, SQLException ex)
AbstractFallbackSQLExceptionTranslator
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.
doTranslate
in class AbstractFallbackSQLExceptionTranslator
task
- readable text describing the task being attemptedsql
- SQL query or update that caused the problem (may be null
)ex
- the offending SQLException
SQLException
;
or null
if no exception match found