Package org.springframework.jdbc.support

# Class SQLStateSQLExceptionTranslator

java.lang.Object
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator
org.springframework.jdbc.support.SQLStateSQLExceptionTranslator

All Implemented Interfaces:
  `SQLExceptionTranslator`

public class SQLStateSQLExceptionTranslator extends AbstractFallbackSQLExceptionTranslator
`SQLExceptionTranslator` implementation that analyzes the SQL state in the `SQLException` based on the first two digits (the SQL state "class"). Detects standard SQL state values and well-known vendor-specific SQL states.

Not able to diagnose all problems, but is portable between databases and does not require special initialization (no database vendor detection, etc.). For more precise translation, consider `SQLErrorCodeSQLExceptionTranslator`.

This translator is commonly used as a `fallback` behind a primary translator such as `SQLErrorCodeSQLExceptionTranslator` or `SQLExceptionSubclassTranslator`.

Author:
  Rod Johnson, Juergen Hoeller, Thomas Risberg
See Also:
  - `SQLException.getSQLState()`
  - `SQLErrorCodeSQLExceptionTranslator`
  - `SQLExceptionSubclassTranslator`

## Field Summary

### Fields inherited from class org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator

`logger`

## Constructor Summary

Constructors
Constructor
Description
`SQLStateSQLExceptionTranslator()`

## Method Summary

Modifier and Type
Method
Description
`protected org.springframework.dao.DataAccessException`
`doTranslate(String task, String sql, SQLException ex)`
Template method for actually translating the given exception.

### Methods inherited from class org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator

`buildMessage, getCustomTranslator, getFallbackTranslator, setCustomTranslator, setFallbackTranslator, translate`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### SQLStateSQLExceptionTranslator

public SQLStateSQLExceptionTranslator()

## Method Details

### doTranslate

@Nullable protected org.springframework.dao.DataAccessException doTranslate(String task, @Nullable String sql, SQLException ex)
Description copied from class: `AbstractFallbackSQLExceptionTranslator`
Template method for actually translating the given exception.

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.

Specified by:
  `doTranslate` in class `AbstractFallbackSQLExceptionTranslator`
Parameters:
  `task` - readable text describing the task being attempted
  `sql` - the SQL query or update that caused the problem (if known)
  `ex` - the offending `SQLException`
Returns:
  the DataAccessException, wrapping the `SQLException`; or `null` if no exception match found