public abstract class

ExtendedEntityManagerCreator

extends Object
java.lang.Object
   ↳ org.springframework.orm.jpa.ExtendedEntityManagerCreator

Class Overview

Factory for dynamic EntityManager proxies that follow the JPA spec's semantics for "extended" EntityManagers.

Supports explicit joining of a transaction through the joinTransaction() method ("application-managed extended EntityManager") as well as automatic joining on each operation ("container-managed extended EntityManager").

Summary

Public Constructors
ExtendedEntityManagerCreator()
Public Methods
static EntityManager createApplicationManagedEntityManager(EntityManager rawEntityManager, EntityManagerFactoryInfo emfInfo)
Create an EntityManager that can join transactions with the joinTransaction() method, but is not automatically managed by the container.
static EntityManager createApplicationManagedEntityManager(EntityManager rawEntityManager, EntityManagerPlusOperations plusOperations)
Create an EntityManager that can join transactions with the joinTransaction() method, but is not automatically managed by the container.
static EntityManager createApplicationManagedEntityManager(EntityManager rawEntityManager, EntityManagerPlusOperations plusOperations, PersistenceExceptionTranslator exceptionTranslator)
Create an EntityManager that can join transactions with the joinTransaction() method, but is not automatically managed by the container.
static EntityManager createContainerManagedEntityManager(EntityManager rawEntityManager, EntityManagerFactoryInfo emfInfo)
Create an EntityManager that automatically joins transactions on each operation in a transaction.
static EntityManager createContainerManagedEntityManager(EntityManagerFactory emf, Map properties)
Create an EntityManager that automatically joins transactions on each operation in a transaction.
static EntityManager createContainerManagedEntityManager(EntityManagerFactory emf)
Create an EntityManager that automatically joins transactions on each operation in a transaction.
static EntityManager createContainerManagedEntityManager(EntityManager rawEntityManager, EntityManagerPlusOperations plusOperations, PersistenceExceptionTranslator exceptionTranslator)
Create an EntityManager that automatically joins transactions on each operation in a transaction.
static EntityManager createContainerManagedEntityManager(EntityManager rawEntityManager, EntityManagerPlusOperations plusOperations)
Create an EntityManager that automatically joins transactions on each operation in a transaction.
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public ExtendedEntityManagerCreator ()

Public Methods

public static EntityManager createApplicationManagedEntityManager (EntityManager rawEntityManager, EntityManagerFactoryInfo emfInfo)

Create an EntityManager that can join transactions with the joinTransaction() method, but is not automatically managed by the container.

Parameters
rawEntityManager raw EntityManager
emfInfo the EntityManagerFactoryInfo to obtain the EntityManagerPlusOperations and PersistenceUnitInfo from
Returns
  • an application-managed EntityManager that can join transactions but does not participate in them automatically

public static EntityManager createApplicationManagedEntityManager (EntityManager rawEntityManager, EntityManagerPlusOperations plusOperations)

Create an EntityManager that can join transactions with the joinTransaction() method, but is not automatically managed by the container.

Parameters
rawEntityManager raw EntityManager
plusOperations an implementation of the EntityManagerPlusOperations interface, if those operations should be exposed (may be null)
Returns
  • an application-managed EntityManager that can join transactions but does not participate in them automatically

public static EntityManager createApplicationManagedEntityManager (EntityManager rawEntityManager, EntityManagerPlusOperations plusOperations, PersistenceExceptionTranslator exceptionTranslator)

Create an EntityManager that can join transactions with the joinTransaction() method, but is not automatically managed by the container.

Parameters
rawEntityManager raw EntityManager
plusOperations an implementation of the EntityManagerPlusOperations interface, if those operations should be exposed (may be null)
exceptionTranslator the exception translator to use for translating JPA commit/rollback exceptions during transaction synchronization (may be null)
Returns
  • an application-managed EntityManager that can join transactions but does not participate in them automatically

public static EntityManager createContainerManagedEntityManager (EntityManager rawEntityManager, EntityManagerFactoryInfo emfInfo)

Create an EntityManager that automatically joins transactions on each operation in a transaction.

Parameters
rawEntityManager raw EntityManager
emfInfo the EntityManagerFactoryInfo to obtain the EntityManagerPlusOperations and PersistenceUnitInfo from
Returns
  • a container-managed EntityManager that will automatically participate in any managed transaction

public static EntityManager createContainerManagedEntityManager (EntityManagerFactory emf, Map properties)

Create an EntityManager that automatically joins transactions on each operation in a transaction.

Parameters
emf the EntityManagerFactory to create the EntityManager with. If this implements the EntityManagerFactoryInfo interface, appropriate handling of the native EntityManagerFactory and available EntityManagerPlusOperations will automatically apply.
properties the properties to be passed into the createEntityManager call (may be null)
Returns
  • a container-managed EntityManager that will automatically participate in any managed transaction
See Also
  • javax.persistence.EntityManagerFactory#createEntityManager(java.util.Map)

public static EntityManager createContainerManagedEntityManager (EntityManagerFactory emf)

Create an EntityManager that automatically joins transactions on each operation in a transaction.

Parameters
emf the EntityManagerFactory to create the EntityManager with. If this implements the EntityManagerFactoryInfo interface, appropriate handling of the native EntityManagerFactory and available EntityManagerPlusOperations will automatically apply.
Returns
  • a container-managed EntityManager that will automatically participate in any managed transaction
See Also
  • javax.persistence.EntityManagerFactory#createEntityManager()

public static EntityManager createContainerManagedEntityManager (EntityManager rawEntityManager, EntityManagerPlusOperations plusOperations, PersistenceExceptionTranslator exceptionTranslator)

Create an EntityManager that automatically joins transactions on each operation in a transaction.

Parameters
rawEntityManager raw EntityManager
plusOperations an implementation of the EntityManagerPlusOperations interface, if those operations should be exposed (may be null)
exceptionTranslator the exception translator to use for translating JPA commit/rollback exceptions during transaction synchronization (may be null)
Returns
  • a container-managed EntityManager that will automatically participate in any managed transaction

public static EntityManager createContainerManagedEntityManager (EntityManager rawEntityManager, EntityManagerPlusOperations plusOperations)

Create an EntityManager that automatically joins transactions on each operation in a transaction.

Parameters
rawEntityManager raw EntityManager
plusOperations an implementation of the EntityManagerPlusOperations interface, if those operations should be exposed (may be null)
Returns
  • a container-managed EntityManager that will automatically participate in any managed transaction