org.springframework.orm.hibernate4
Class SessionFactoryUtils

java.lang.Object
  extended by org.springframework.orm.hibernate4.SessionFactoryUtils

public abstract class SessionFactoryUtils
extends Object

Helper class featuring methods for Hibernate Session handling. Also provides support for exception translation.

Used internally by HibernateTransactionManager. Can also be used directly in application code.

Since:
3.1
Author:
Juergen Hoeller
See Also:
HibernateExceptionTranslator, HibernateTransactionManager

Field Summary
static int SESSION_SYNCHRONIZATION_ORDER
          Order value for TransactionSynchronization objects that clean up Hibernate Sessions.
 
Constructor Summary
SessionFactoryUtils()
           
 
Method Summary
static void closeSession(Session session)
          Perform actual closing of the Hibernate Session, catching and logging any cleanup exceptions thrown.
static DataAccessException convertHibernateAccessException(HibernateException ex)
          Convert the given HibernateException to an appropriate exception from the org.springframework.dao hierarchy.
static DataSource getDataSource(SessionFactory sessionFactory)
          Determine the DataSource of the given SessionFactory.
static Session openSession(SessionFactory sessionFactory)
          Obtain a new Session from the given SessionFactory.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SESSION_SYNCHRONIZATION_ORDER

public static final int SESSION_SYNCHRONIZATION_ORDER
Order value for TransactionSynchronization objects that clean up Hibernate Sessions. Returns DataSourceUtils.CONNECTION_SYNCHRONIZATION_ORDER - 100 to execute Session cleanup before JDBC Connection cleanup, if any.

See Also:
DataSourceUtils.CONNECTION_SYNCHRONIZATION_ORDER, Constant Field Values
Constructor Detail

SessionFactoryUtils

public SessionFactoryUtils()
Method Detail

getDataSource

public static DataSource getDataSource(SessionFactory sessionFactory)
Determine the DataSource of the given SessionFactory.

Parameters:
sessionFactory - the SessionFactory to check
Returns:
the DataSource, or null if none found
See Also:
SessionFactoryImplementor.getConnectionProvider()

openSession

public static Session openSession(SessionFactory sessionFactory)
Obtain a new Session from the given SessionFactory.

Bridges between Hibernate signature differences.

Parameters:
sessionFactory - the SessionFactory to use
Returns:
the new Session
See Also:
SessionFactory.openSession()

closeSession

public static void closeSession(Session session)
Perform actual closing of the Hibernate Session, catching and logging any cleanup exceptions thrown.

Parameters:
session - the Hibernate Session to close (may be null)
See Also:
Session.close()

convertHibernateAccessException

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

Parameters:
ex - HibernateException that occured
Returns:
the corresponding DataAccessException instance
See Also:
HibernateExceptionTranslator.convertHibernateAccessException(org.hibernate.HibernateException), HibernateTransactionManager.convertHibernateAccessException(org.hibernate.HibernateException)