## org.springframework.orm.hibernate4
Class SessionFactoryUtils

    java.lang.Object
      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)`