|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.orm.jpa.EntityManagerFactoryAccessor org.springframework.orm.jpa.JpaAccessor
public abstract class JpaAccessor
Base class for JpaTemplate and JpaInterceptor, defining common properties such as EntityManagerFactory and flushing behavior.
Not intended to be used directly.
See JpaTemplate
and JpaInterceptor
.
EntityManagerFactoryAccessor.setEntityManagerFactory(javax.persistence.EntityManagerFactory)
,
setEntityManager(javax.persistence.EntityManager)
,
setJpaDialect(org.springframework.orm.jpa.JpaDialect)
,
setFlushEager(boolean)
,
JpaTemplate
,
JpaInterceptor
,
JpaDialect
Field Summary |
---|
Fields inherited from class org.springframework.orm.jpa.EntityManagerFactoryAccessor |
---|
logger |
Constructor Summary | |
---|---|
JpaAccessor()
|
Method Summary | |
---|---|
void |
afterPropertiesSet()
Eagerly initialize the JPA dialect, creating a default one for the specified EntityManagerFactory if none set. |
protected void |
flushIfNecessary(javax.persistence.EntityManager em,
boolean existingTransaction)
Flush the given JPA entity manager if necessary. |
javax.persistence.EntityManager |
getEntityManager()
Return the JPA EntityManager to use. |
JpaDialect |
getJpaDialect()
Return the JPA dialect to use for this accessor. |
boolean |
isFlushEager()
Return if this accessor should flush changes to the database eagerly. |
void |
setEntityManager(javax.persistence.EntityManager entityManager)
Set the JPA EntityManager to use. |
void |
setFlushEager(boolean flushEager)
Set if this accessor should flush changes to the database eagerly. |
void |
setJpaDialect(JpaDialect jpaDialect)
Set the JPA dialect to use for this accessor. |
RuntimeException |
translateIfNecessary(RuntimeException ex)
Convert the given runtime exception to an appropriate exception from the org.springframework.dao hierarchy if necessary, or
return the exception itself if it is not persistence related
Default implementation delegates to the JpaDialect. |
Methods inherited from class org.springframework.orm.jpa.EntityManagerFactoryAccessor |
---|
createEntityManager, getEntityManagerFactory, getJpaPropertyMap, getTransactionalEntityManager, setEntityManagerFactory, setJpaProperties, setJpaPropertyMap |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public JpaAccessor()
Method Detail |
---|
public void setEntityManager(javax.persistence.EntityManager entityManager)
public javax.persistence.EntityManager getEntityManager()
public void setJpaDialect(JpaDialect jpaDialect)
The dialect object can be used to retrieve the underlying JDBC connection, for example.
public JpaDialect getJpaDialect()
Creates a default one for the specified EntityManagerFactory if none set.
public void setFlushEager(boolean flushEager)
Eager flushing leads to immediate synchronization with the database, even if in a transaction. This causes inconsistencies to show up and throw a respective exception immediately, and JDBC access code that participates in the same transaction will see the changes as the database is already aware of them then. But the drawbacks are:
public boolean isFlushEager()
public void afterPropertiesSet()
afterPropertiesSet
in interface InitializingBean
protected void flushIfNecessary(javax.persistence.EntityManager em, boolean existingTransaction) throws javax.persistence.PersistenceException
em
- the current JPA PersistenceManageexistingTransaction
- if executing within an existing transaction
javax.persistence.PersistenceException
- in case of JPA flushing errorspublic RuntimeException translateIfNecessary(RuntimeException ex)
org.springframework.dao
hierarchy if necessary, or
return the exception itself if it is not persistence related
Default implementation delegates to the JpaDialect. May be overridden in subclasses.
ex
- runtime exception that occured, which may or may not
be JPA-related
DataAccessUtils.translateIfNecessary(java.lang.RuntimeException, org.springframework.dao.support.PersistenceExceptionTranslator)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |