## org.springframework.orm.jpa.vendor
Class OpenJpaDialect

    java.lang.Object
      org.springframework.orm.jpa.DefaultJpaDialect
          org.springframework.orm.jpa.vendor.OpenJpaDialect

All Implemented Interfaces:
  Serializable, PersistenceExceptionTranslator, JpaDialect

    public class OpenJpaDialect

extends DefaultJpaDialect

`JpaDialect` implementation for Apache OpenJPA. Developed and tested against OpenJPA 0.9.7.

Since:
  2.0
Author:
  Costin Leau, Juergen Hoeller
See Also:
  Serialized Form

Constructor Summary
`OpenJpaDialect()`

Method Summary
`Object` `beginTransaction(javax.persistence.EntityManager entityManager, TransactionDefinition definition)` This implementation invokes the standard JPA `Transaction.begin` method.
`ConnectionHandle` `getJdbcConnection(javax.persistence.EntityManager entityManager, boolean readOnly)` This implementation always returns `null`, indicating that no JDBC Connection can be provided.
`protected org.apache.openjpa.persistence.OpenJPAEntityManager` `getOpenJPAEntityManager(javax.persistence.EntityManager em)` Return the OpenJPA-specific interface of `EntityManager`.

Methods inherited from class org.springframework.orm.jpa.DefaultJpaDialect
`cleanupTransaction, getEntityManagerFactoryPlusOperations, getEntityManagerPlusOperations, prepareTransaction, releaseJdbcConnection, supportsEntityManagerFactoryPlusOperations, supportsEntityManagerPlusOperations, translateExceptionIfPossible`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### OpenJpaDialect

    public OpenJpaDialect()

Method Detail

### beginTransaction

    public Object beginTransaction(javax.persistence.EntityManager entityManager,
                                   TransactionDefinition definition)
                            throws javax.persistence.PersistenceException,
                                   SQLException,
                                   TransactionException

  Description copied from class: `DefaultJpaDialect`
  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.

  Specified by:
    `beginTransaction` in interface `JpaDialect`
  Overrides:
    `beginTransaction` in class `DefaultJpaDialect`
  Parameters:
    `entityManager` - the EntityManager to begin a JPA transaction on
    `definition` - the Spring transaction definition that defines semantics
  Returns:
    an arbitrary object that holds transaction data, if any (to be passed into `JpaDialect.cleanupTransaction(java.lang.Object)`). May implement the `SavepointManager` interface.
  Throws:
    `javax.persistence.PersistenceException` - if thrown by JPA methods
    `SQLException` - if thrown by JDBC methods
    `TransactionException` - in case of invalid arguments
  See Also:
    `EntityTransaction.begin()`, `InvalidIsolationLevelException`, `DefaultJpaDialect.cleanupTransaction(java.lang.Object)`

### getJdbcConnection

    public ConnectionHandle getJdbcConnection(javax.persistence.EntityManager entityManager,
                                              boolean readOnly)
                                       throws javax.persistence.PersistenceException,
                                              SQLException

  Description copied from class: `DefaultJpaDialect`
  This implementation always returns `null`, indicating that no JDBC Connection can be provided.

  Specified by:
    `getJdbcConnection` in interface `JpaDialect`
  Overrides:
    `getJdbcConnection` in class `DefaultJpaDialect`
  Parameters:
    `entityManager` - the current JPA EntityManager
    `readOnly` - whether the Connection is only needed for read-only purposes
  Returns:
    a handle for the JDBC Connection, to be passed into `releaseJdbcConnection`, or `null` if no JDBC Connection can be retrieved
  Throws:
    `javax.persistence.PersistenceException` - if thrown by JPA methods
    `SQLException` - if thrown by JDBC methods
  See Also:
    `JpaDialect.releaseJdbcConnection(org.springframework.jdbc.datasource.ConnectionHandle, javax.persistence.EntityManager)`, `ConnectionHandle.getConnection()`, `SimpleConnectionHandle`, `JpaTransactionManager.setDataSource(javax.sql.DataSource)`, `NativeJdbcExtractor`

### getOpenJPAEntityManager

    protected org.apache.openjpa.persistence.OpenJPAEntityManager getOpenJPAEntityManager(javax.persistence.EntityManager em)

  Return the OpenJPA-specific interface of `EntityManager`.

  Parameters:
    `em` - the generic `EntityManager` instance
  Returns:
    the OpenJPA-specific interface of `EntityManager`

Copyright © 2002-2008 The Spring Framework.