| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.springframework.orm.jpa.DefaultJpaDialect
org.springframework.orm.jpa.vendor.HibernateJpaDialect
public class HibernateJpaDialect
JpaDialect implementation for
 Hibernate EntityManager. Developed and tested against Hibernate 3.2.
| Constructor Summary | |
|---|---|
| HibernateJpaDialect() | |
| Method Summary | |
|---|---|
|  Object | beginTransaction(javax.persistence.EntityManager entityManager,
                 TransactionDefinition definition)This implementation invokes the standard JPA Transaction.beginmethod. | 
|  void | cleanupTransaction(Object transactionData)This implementation does nothing, since the default beginTransactionimplementation does not require any cleanup. | 
|  ConnectionHandle | getJdbcConnection(javax.persistence.EntityManager entityManager,
                  boolean readOnly)This implementation always returns null,
 indicating that no JDBC Connection can be provided. | 
| protected  org.hibernate.Session | getSession(javax.persistence.EntityManager em) | 
|  Object | prepareTransaction(javax.persistence.EntityManager entityManager,
                   boolean readOnly,
                   String name)Prepare a JPA transaction, applying the specified semantics. | 
|  DataAccessException | translateExceptionIfPossible(RuntimeException ex)This implementation delegates to EntityManagerFactoryUtils. | 
| Methods inherited from class org.springframework.orm.jpa.DefaultJpaDialect | 
|---|
| getEntityManagerFactoryPlusOperations, getEntityManagerPlusOperations, releaseJdbcConnection, supportsEntityManagerFactoryPlusOperations, supportsEntityManagerPlusOperations | 
| Methods inherited from class java.lang.Object | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Constructor Detail | 
|---|
public HibernateJpaDialect()
| Method Detail | 
|---|
public Object beginTransaction(javax.persistence.EntityManager entityManager,
                               TransactionDefinition definition)
                        throws javax.persistence.PersistenceException,
                               SQLException,
                               TransactionException
DefaultJpaDialectTransaction.begin
 method. Throws an InvalidIsolationLevelException if a non-default isolation
 level is set.
 This implementation does not return any transaction data Object, since there
 is no state to be kept for a standard JPA transaction. Hence, subclasses do not
 have to care about the return value (null) of this implementation
 and are free to return their own transaction data Object.
beginTransaction in interface JpaDialectbeginTransaction in class DefaultJpaDialectentityManager - the EntityManager to begin a JPA transaction ondefinition - the Spring transaction definition that defines semantics
JpaDialect.cleanupTransaction(java.lang.Object)). May implement the
 SavepointManager interface.
javax.persistence.PersistenceException - if thrown by JPA methods
SQLException - if thrown by JDBC methods
TransactionException - in case of invalid argumentsEntityTransaction.begin(), 
InvalidIsolationLevelException, 
DefaultJpaDialect.cleanupTransaction(java.lang.Object)
public Object prepareTransaction(javax.persistence.EntityManager entityManager,
                                 boolean readOnly,
                                 String name)
                          throws javax.persistence.PersistenceException
JpaDialectAn implementation can apply the read-only flag as flush mode. In that case,
 a transaction data object can be returned that holds the previous flush mode
 (and possibly other data), to be reset in cleanupTransaction.
 
Implementations can also use the Spring transaction name, as exposed by the passed-in TransactionDefinition, to optimize for specific data access use cases (effectively using the current transaction name as use case identifier).
prepareTransaction in interface JpaDialectprepareTransaction in class DefaultJpaDialectentityManager - the EntityManager to begin a JPA transaction onreadOnly - whether the transaction is supposed to be read-onlyname - the name of the transaction (if any)
javax.persistence.PersistenceException - if thrown by JPA methodsJpaDialect.cleanupTransaction(java.lang.Object)public void cleanupTransaction(Object transactionData)
DefaultJpaDialectbeginTransaction
 implementation does not require any cleanup.
cleanupTransaction in interface JpaDialectcleanupTransaction in class DefaultJpaDialecttransactionData - arbitrary object that holds transaction data, if any
 (as returned by beginTransaction or prepareTransaction)DefaultJpaDialect.beginTransaction(javax.persistence.EntityManager, org.springframework.transaction.TransactionDefinition)
public ConnectionHandle getJdbcConnection(javax.persistence.EntityManager entityManager,
                                          boolean readOnly)
                                   throws javax.persistence.PersistenceException,
                                          SQLException
DefaultJpaDialectnull,
 indicating that no JDBC Connection can be provided.
getJdbcConnection in interface JpaDialectgetJdbcConnection in class DefaultJpaDialectentityManager - the current JPA EntityManagerreadOnly - whether the Connection is only needed for read-only purposes
releaseJdbcConnection, or null
 if no JDBC Connection can be retrieved
javax.persistence.PersistenceException - if thrown by JPA methods
SQLException - if thrown by JDBC methodsJpaDialect.releaseJdbcConnection(org.springframework.jdbc.datasource.ConnectionHandle, javax.persistence.EntityManager), 
ConnectionHandle.getConnection(), 
SimpleConnectionHandle, 
JpaTransactionManager.setDataSource(javax.sql.DataSource), 
NativeJdbcExtractorpublic DataAccessException translateExceptionIfPossible(RuntimeException ex)
DefaultJpaDialect
translateExceptionIfPossible in interface PersistenceExceptionTranslatortranslateExceptionIfPossible in class DefaultJpaDialectex - a RuntimeException thrown
null if the
 exception could not be translated, as in this case it may result from
 user code rather than an actual persistence problem)EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(java.lang.RuntimeException)protected org.hibernate.Session getSession(javax.persistence.EntityManager em)
| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||