| java.lang.Object | ||
| ↳ | org.springframework.orm.jpa.DefaultJpaDialect | |
| ↳ | org.springframework.orm.jpa.vendor.TopLinkJpaDialect | |
JpaDialect implementation for
 Oracle TopLink Essentials. Developed and tested against TopLink Essentials v2.
 
By default, this class acquires a TopLink transaction to get the JDBC Connection
 early. This allows mixing JDBC and JPA/TopLink operations in the same transaction.
 In some cases, this eager acquisition of a transaction/connection may impact
 scalability. In that case, set the "lazyDatabaseTransaction" flag to true if you
 do not require mixing JDBC and JPA operations in the same transaction. Otherwise,
 use a LazyConnectionDataSourceProxy
 to ensure that the cost of connection acquisition is near zero until code actually
 needs a JDBC Connection.
| Public Constructors | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
This implementation invokes the standard JPA  
  
  Transaction.begin
 method. | |||||||||||
This implementation always returns  
  
  null,
 indicating that no JDBC Connection can be provided. | |||||||||||
Set whether to lazily start a database transaction within a TopLink
 transaction. 
  
   | |||||||||||
| Protected Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
Get a traditional TopLink Session from the given EntityManager. 
  
   | |||||||||||
| 
  [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 always returns null,
 indicating that no JDBC Connection can be provided.
| em | 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 | 
Set whether to lazily start a database transaction within a TopLink transaction.
By default, database transactions are started early. This allows for reusing the same JDBC Connection throughout an entire transaction, including read operations, and also for exposing TopLink transactions to JDBC access code (working on the same DataSource).
It is only recommended to switch this flag to "true" when no JDBC access code is involved in any of the transactions, and when it is acceptable to perform read operations outside of the transactional JDBC Connection.
Get a traditional TopLink Session from the given EntityManager.