spring-orm

org.springframework.orm.hibernate3
Class HibernateExceptionTranslator

java.lang.Object
  extended by org.springframework.orm.hibernate3.HibernateExceptionTranslator
All Implemented Interfaces:
org.springframework.dao.support.PersistenceExceptionTranslator
Direct Known Subclasses:
AbstractSessionFactoryBean

public class HibernateExceptionTranslator
extends java.lang.Object
implements org.springframework.dao.support.PersistenceExceptionTranslator

PersistenceExceptionTranslator capable of translating HibernateException instances to Spring's DataAccessException hierarchy.

Extended by LocalSessionFactoryBean, so there is no need to declare this translator in addition to a LocalSessionFactoryBean.

When configuring the container with @Configuration classes, a @Bean of this type must be registered manually.

Since:
3.1
Author:
Juergen Hoeller, Chris Beams
See Also:
org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor, SessionFactoryUtils.convertHibernateAccessException(HibernateException), SQLExceptionTranslator

Constructor Summary
HibernateExceptionTranslator()
           
 
Method Summary
protected  org.springframework.dao.DataAccessException convertHibernateAccessException(org.hibernate.HibernateException ex)
          Convert the given HibernateException to an appropriate exception from the org.springframework.dao hierarchy.
 void setJdbcExceptionTranslator(org.springframework.jdbc.support.SQLExceptionTranslator jdbcExceptionTranslator)
          Set the JDBC exception translator for the SessionFactory, exposed via the PersistenceExceptionTranslator interface.
 org.springframework.dao.DataAccessException translateExceptionIfPossible(java.lang.RuntimeException ex)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HibernateExceptionTranslator

public HibernateExceptionTranslator()
Method Detail

setJdbcExceptionTranslator

public void setJdbcExceptionTranslator(org.springframework.jdbc.support.SQLExceptionTranslator jdbcExceptionTranslator)
Set the JDBC exception translator for the SessionFactory, exposed via the PersistenceExceptionTranslator interface.

Applied to any SQLException root cause of a Hibernate JDBCException, overriding Hibernate's default SQLException translation (which is based on Hibernate's Dialect for a specific target database).

Parameters:
jdbcExceptionTranslator - the exception translator
See Also:
SQLException, JDBCException, SQLErrorCodeSQLExceptionTranslator, SQLStateSQLExceptionTranslator, PersistenceExceptionTranslator

translateExceptionIfPossible

public org.springframework.dao.DataAccessException translateExceptionIfPossible(java.lang.RuntimeException ex)
Specified by:
translateExceptionIfPossible in interface org.springframework.dao.support.PersistenceExceptionTranslator

convertHibernateAccessException

protected org.springframework.dao.DataAccessException convertHibernateAccessException(org.hibernate.HibernateException ex)
Convert the given HibernateException to an appropriate exception from the org.springframework.dao hierarchy.

Will automatically apply a specified SQLExceptionTranslator to a Hibernate JDBCException, else rely on Hibernate's default translation.

Parameters:
ex - HibernateException that occured
Returns:
a corresponding DataAccessException
See Also:
SessionFactoryUtils.convertHibernateAccessException(org.hibernate.HibernateException), setJdbcExceptionTranslator(org.springframework.jdbc.support.SQLExceptionTranslator)

spring-orm