| java.lang.Object | |
| ↳ | org.springframework.orm.jpa.DefaultJpaDialect |
Known Direct Subclasses
|
Default implementation of the JpaDialect interface.
Used as default dialect by JpaAccessor and JpaTransactionManager.
Simply begins a standard JPA transaction in beginTransaction(EntityManager, TransactionDefinition)
and performs standard exception translation through EntityManagerFactoryUtils.
| 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. | |||||||||||
Return an EntityManagerFactoryPlusOperations implementation for
the given raw EntityManagerFactory.
| |||||||||||
Return an EntityManagerPlusOperations implementation for
the given raw EntityManager.
| |||||||||||
This implementation always returns
null,
indicating that no JDBC Connection can be provided. | |||||||||||
Prepare a JPA transaction, applying the specified semantics.
| |||||||||||
This implementation does nothing, assuming that the Connection
will implicitly be closed with the EntityManager.
| |||||||||||
Return whether the EntityManagerFactoryPlus(Operations) interface is
supported by this provider.
| |||||||||||
Return whether the EntityManagerPlus(Operations) interface is
supported by this provider.
| |||||||||||
This implementation delegates to EntityManagerFactoryUtils.
| |||||||||||
|
[Expand]
Inherited Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
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 |
InvalidIsolationLevelExceptioncleanupTransaction(Object)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) |
|---|
Return an EntityManagerFactoryPlusOperations implementation for the given raw EntityManagerFactory. This operations object can be used to serve the additional operations behind a proxy that implements the EntityManagerFactoryPlus interface.
| rawEntityManager | the raw provider-specific EntityManagerFactory |
|---|
Return an EntityManagerPlusOperations implementation for the given raw EntityManager. This operations object can be used to serve the additional operations behind a proxy that implements the EntityManagerPlus interface.
| rawEntityManager | the raw provider-specific EntityManagerFactory |
|---|
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 retrieved| PersistenceException | |
|---|---|
| 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 does nothing, assuming that the Connection will implicitly be closed with the EntityManager.
If the JPA implementation returns a Connection handle that it expects
the application to close after use, the dialect implementation needs to invoke
Connection.close() (or some other method with similar effect) here.
| conHandle | the JDBC Connection handle to release |
|---|---|
| em | the current JPA EntityManager |
| PersistenceException | |
|---|---|
| SQLException |
Return whether the EntityManagerFactoryPlus(Operations) interface is supported by this provider.
Return whether the EntityManagerPlus(Operations) interface is supported by this provider.
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)