beginTransaction

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.

prepareTransaction

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).

releaseJdbcConnection

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.

getEntityManagerFactoryPlusOperations

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.

getEntityManagerPlusOperations

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.