java.lang.Object | |
↳ | org.springframework.orm.jpa.DefaultJpaDialect |
![]() |
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 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() | |||||||||||
![]() | |||||||||||
![]() |
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 |
InvalidIsolationLevelException
cleanupTransaction(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 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 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)