Package org.springframework.orm.hibernate5

# Class SessionFactoryUtils

java.lang.Object
org.springframework.orm.hibernate5.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:
  4.2
Author:
  Juergen Hoeller
See Also:
  - `HibernateExceptionTranslator`
  - `HibernateTransactionManager`

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`SESSION_SYNCHRONIZATION_ORDER`
Order value for TransactionSynchronization objects that clean up Hibernate Sessions.

## Constructor Summary

Constructors
Constructor
Description
`SessionFactoryUtils()`

## Method Summary

Modifier and Type
Method
Description
`static void`
`closeSession(Session session)`
Perform actual closing of the Hibernate Session, catching and logging any cleanup exceptions thrown.
`static org.springframework.dao.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.

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

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

## Field Details

### 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 Details

### SessionFactoryUtils

public SessionFactoryUtils()

## Method Details

### closeSession

public static void closeSession(@Nullable 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:
  - `SharedSessionContract.close()`

### getDataSource

@Nullable 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:
  - `ConnectionProvider`

### convertHibernateAccessException

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

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