## Package org.springframework.orm.jpa

Package providing integration of JPA (Java Persistence API) with Spring concepts.

See:
Description

Interface Summary
EntityManagerFactoryInfo: Metadata interface for a Spring-managed JPA `EntityManagerFactory`.
EntityManagerFactoryPlus: Extension of the standard JPA EntityManagerFactory interface, linking in Spring's EntityManagerFactoryPlusOperations interface which defines additional operations (beyond JPA 1.0) in a vendor-independent fashion.
EntityManagerFactoryPlusOperations: Interface that defines common operations beyond the standard JPA EntityManagerFactory interface, in a vendor-independent fashion.
EntityManagerPlus: Extension of the standard JPA EntityManager interface, linking in Spring's EntityManagerPlusOperations interface which defines additional operations (beyond JPA 1.0) in a vendor-independent fashion.
EntityManagerPlusOperations: Interface that defines common operations beyond the standard JPA EntityManager interface, in a vendor-independent fashion.
EntityManagerProxy: Subinterface of `EntityManager` to be implemented by EntityManager proxies.
JpaCallback<T>: Callback interface for JPA code.
JpaDialect: SPI strategy that encapsulates certain functionality that standard JPA 1.0 does not offer, such as access to the underlying JDBC Connection.
JpaOperations: Interface that specifies a basic set of JPA operations, implemented by `JpaTemplate`.
JpaVendorAdapter: SPI interface that allows to plug in vendor-specific behavior into Spring's EntityManagerFactory creators.

Class Summary
AbstractEntityManagerFactoryBean: Abstract `FactoryBean` that creates a local JPA `EntityManagerFactory` instance within a Spring application context.
DefaultJpaDialect: Default implementation of the `JpaDialect` interface.
EntityManagerFactoryAccessor: Base class for any class that needs to access an EntityManagerFactory, usually in order to obtain an EntityManager.
EntityManagerFactoryUtils: Helper class featuring methods for JPA EntityManager handling, allowing for reuse of EntityManager instances within transactions.
EntityManagerHolder: Holder wrapping a JPA EntityManager.
ExtendedEntityManagerCreator: Factory for dynamic EntityManager proxies that follow the JPA spec's semantics for "extended" EntityManagers.
JpaAccessor: Base class for JpaTemplate and JpaInterceptor, defining common properties such as EntityManagerFactory and flushing behavior.
JpaInterceptor: This interceptor binds a new JPA EntityManager to the thread before a method call, closing and removing it afterwards in case of any method outcome.
JpaTemplate: Helper class that allows for writing JPA data access code in the same style as with Spring's well-known JdoTemplate and HibernateTemplate classes.
JpaTransactionManager: `PlatformTransactionManager` implementation for a single JPA `EntityManagerFactory`.
LocalContainerEntityManagerFactoryBean: `FactoryBean` that creates a JPA `EntityManagerFactory` according to JPA's standard container bootstrap contract.
LocalEntityManagerFactoryBean: `FactoryBean` that creates a JPA `EntityManagerFactory` according to JPA's standard standalone bootstrap contract.
SharedEntityManagerCreator: Factory for a shareable JPA `EntityManager` for a given `EntityManagerFactory`.

Exception Summary
JpaObjectRetrievalFailureException: JPA-specific subclass of ObjectRetrievalFailureException.
JpaOptimisticLockingFailureException: JPA-specific subclass of ObjectOptimisticLockingFailureException.
JpaSystemException: JPA-specific subclass of UncategorizedDataAccessException, for JPA system errors that do not match any concrete `org.springframework.dao` exceptions.

## Package org.springframework.orm.jpa Description

Package providing integration of JPA (Java Persistence API) with Spring concepts. Contains EntityManagerFactory helper classes, a template plus callback for JPA access, and an implementation of Spring's transaction SPI for local JPA transactions.