java.lang.Object | ||
↳ | org.springframework.orm.jpa.DefaultJpaDialect | |
↳ | org.springframework.orm.jpa.vendor.HibernateJpaDialect |
JpaDialect
implementation for
Hibernate EntityManager. Developed against Hibernate 3.3;
tested against 3.3, 3.5 and 3.6 (with the latter including
Hibernate EntityManager in the Hibernate core distribution).
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
This implementation invokes the standard JPA
Transaction.begin
method. | |||||||||||
This implementation does nothing, since the default
beginTransaction
implementation does not require any cleanup. | |||||||||||
This implementation always returns
null ,
indicating that no JDBC Connection can be provided. | |||||||||||
Prepare a JPA transaction, applying the specified semantics.
| |||||||||||
This implementation delegates to EntityManagerFactoryUtils.
|
Protected Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
org.springframework.orm.jpa.DefaultJpaDialect
| |||||||||||
From class
java.lang.Object
| |||||||||||
From interface
org.springframework.dao.support.PersistenceExceptionTranslator
| |||||||||||
From interface
org.springframework.orm.jpa.JpaDialect
|
This implementation invokes the standard JPA Transaction.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.
entityManager | the EntityManager to begin a JPA transaction on |
---|---|
definition | the Spring transaction definition that defines semantics |
cleanupTransaction(Object)
). May implement the
SavepointManager
interface.PersistenceException | |
---|---|
SQLException | |
TransactionException |
This implementation does nothing, since the default beginTransaction
implementation does not require any cleanup.
transactionData | arbitrary object that holds transaction data, if any (as returned by beginTransaction or prepareTransaction) |
---|
This implementation always returns null
,
indicating that no JDBC Connection can be provided.
entityManager | the current JPA EntityManager |
---|---|
readOnly | whether the Connection is only needed for read-only purposes |
releaseJdbcConnection
, or null
if no JDBC Connection can be retrievedPersistenceException | |
---|---|
SQLException |
Prepare a JPA transaction, applying the specified semantics. Called by EntityManagerFactoryUtils when enlisting an EntityManager in a JTA transaction.
An 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).
entityManager | the EntityManager to begin a JPA transaction on |
---|---|
readOnly | whether the transaction is supposed to be read-only |
name | the name of the transaction (if any) |
PersistenceException |
---|
This implementation delegates to EntityManagerFactoryUtils.
ex | 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)