java.lang.Objectorg.springframework.orm.jpa.EntityManagerFactoryAccessor
org.springframework.orm.jpa.JpaAccessor
org.springframework.orm.jpa.JpaInterceptor
All Implemented Interfaces:
org.aopalliance.intercept.MethodInterceptor, InitializingBean
Application code must retrieve a JPA EntityManager via the
EntityManagerFactoryUtils.getEntityManager method or - preferably -
via a shared EntityManager reference, to be able to detect a
thread-bound EntityManager. Typically, the code will look like as follows:
public void doSomeDataAccessAction() {
this.entityManager...
}
Note that this interceptor automatically translates PersistenceExceptions,
via delegating to the EntityManagerFactoryUtils.convertJpaAccessException
method that converts them to exceptions that are compatible with the
org.springframework.dao exception hierarchy (like JpaTemplate does).
This class can be considered a declarative alternative to JpaTemplate's callback approach. The advantages are:
The drawback is the dependency on interceptor configuration. However, note that this interceptor is usually not necessary in scenarios where the data access code always executes within transactions. A transaction will always have a thread-bound EntityManager in the first place, so adding this interceptor to the configuration just adds value when fine-tuning EntityManager settings like the flush mode - or when relying on exception translation.
Juergen - Hoeller2.0 - | Fields inherited from org.springframework.orm.jpa.EntityManagerFactoryAccessor: |
|---|
| logger |
| Method from org.springframework.orm.jpa.JpaInterceptor Summary: |
|---|
| invoke, setExceptionConversionEnabled |
| Methods from org.springframework.orm.jpa.JpaAccessor: |
|---|
| afterPropertiesSet, flushIfNecessary, getEntityManager, getJpaDialect, isFlushEager, setEntityManager, setFlushEager, setJpaDialect, translateIfNecessary |
| Methods from org.springframework.orm.jpa.EntityManagerFactoryAccessor: |
|---|
| createEntityManager, getEntityManagerFactory, getJpaPropertyMap, getTransactionalEntityManager, setEntityManagerFactory, setJpaProperties, setJpaPropertyMap |
| Methods from java.lang.Object: |
|---|
| equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method from org.springframework.orm.jpa.JpaInterceptor Detail: |
|---|
|
org.springframework.dao exception hierarchy.
Default is "true". Turn this flag off to let the caller receive raw exceptions as-is, without any wrapping. |