org.hibernate.exception
Class SQLStateConverter

java.lang.Object
  extended by org.hibernate.exception.SQLStateConverter
All Implemented Interfaces:
SQLExceptionConverter

public class SQLStateConverter
extends Object
implements SQLExceptionConverter

A SQLExceptionConverter implementation which performs converion based on the underlying SQLState. Interpretation of a SQL error based on SQLState is not nearly as accurate as using the ErrorCode (which is, however, vendor- specific). Use of a ErrorCode-based converter should be preferred approach for converting/interpreting SQLExceptions.

Author:
Steve Ebersole

Constructor Summary
SQLStateConverter(ViolatedConstraintNameExtracter extracter)
           
 
Method Summary
 JDBCException convert(SQLException sqlException, String message, String sql)
          Convert the given SQLException into Hibernate's JDBCException hierarchy.
protected  JDBCException handledNonSpecificException(SQLException sqlException, String message, String sql)
          Handle an exception not converted to a specific type based on the SQLState.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SQLStateConverter

public SQLStateConverter(ViolatedConstraintNameExtracter extracter)
Method Detail

convert

public JDBCException convert(SQLException sqlException,
                             String message,
                             String sql)
Convert the given SQLException into Hibernate's JDBCException hierarchy.

Specified by:
convert in interface SQLExceptionConverter
Parameters:
sqlException - The SQLException to be converted.
message - An optional error message.
sql - Optionally, the sql being performed when the exception occurred.
Returns:
The resulting JDBCException.
See Also:
ConstraintViolationException, JDBCConnectionException, SQLGrammarException, LockAcquisitionException

handledNonSpecificException

protected JDBCException handledNonSpecificException(SQLException sqlException,
                                                    String message,
                                                    String sql)
Handle an exception not converted to a specific type based on the SQLState.

Parameters:
sqlException - The exception to be handled.
message - An optional message
sql - Optionally, the sql being performed when the exception occurred.
Returns:
The converted exception; should never be null.