# Package org.springframework.orm.hibernate4

Package providing integration of Hibernate 4.x with Spring concepts.

See: Description

- Class Summary
  Class | Description
  --- | ---
  HibernateExceptionTranslator | `PersistenceExceptionTranslator` capable of translating `HibernateException` instances to Spring's `DataAccessException` hierarchy.
  HibernateTransactionManager | `PlatformTransactionManager` implementation for a single Hibernate `SessionFactory`.
  LocalSessionFactoryBean | `FactoryBean` that creates a Hibernate `SessionFactory`.
  LocalSessionFactoryBuilder | A Spring-provided extension of the standard Hibernate `Configuration` class, adding `SpringSessionContext` as a default and providing convenient ways to specify a DataSource and an application class loader.
  SessionFactoryUtils | Helper class featuring methods for Hibernate Session handling.
  SessionHolder | Session holder, wrapping a Hibernate Session and a Hibernate Transaction.
  SpringJtaSessionContext | Spring-specific subclass of Hibernate's JTASessionContext, setting `FlushMode.MANUAL` for read-only transactions.
  SpringSessionContext | Implementation of Hibernate 3.1's CurrentSessionContext interface that delegates to Spring's SessionFactoryUtils for providing a Spring-managed current Session.

- Exception Summary
  Exception | Description
  --- | ---
  HibernateJdbcException | Hibernate-specific subclass of UncategorizedDataAccessException, for JDBC exceptions that Hibernate wrapped.
  HibernateObjectRetrievalFailureException | Hibernate-specific subclass of ObjectRetrievalFailureException.
  HibernateOptimisticLockingFailureException | Hibernate-specific subclass of ObjectOptimisticLockingFailureException.
  HibernateQueryException | Hibernate-specific subclass of InvalidDataAccessResourceUsageException, thrown on invalid HQL query syntax.
  HibernateSystemException | Hibernate-specific subclass of UncategorizedDataAccessException, for Hibernate system errors that do not match any concrete `org.springframework.dao` exceptions.

## Package org.springframework.orm.hibernate4 Description

Package providing integration of Hibernate 4.x with Spring concepts.

Contains an implementation of Spring's transaction SPI for local Hibernate transactions. This package is intentionally rather minimal, with no template classes or the like, in order to follow Hibernate recommendations as closely as possible. We recommend using Hibernate's native `sessionFactory.getCurrentSession()` style.

This package supports Hibernate 4.x only. See the `org.springframework.orm.hibernate3` package for Hibernate 3.x support. Note: Do not use HibernateTemplate or other classes from the hibernate3 package with Hibernate 4; this will lead to class definition exceptions at runtime.