private static class OpenJpaDialect.OpenJpaTransactionData extends java.lang.Object implements SavepointManager
beginTransaction
,
implementing the SavepointManager
interface.Modifier and Type | Field and Description |
---|---|
private OpenJPAEntityManager |
entityManager |
private int |
savepointCounter |
Constructor and Description |
---|
OpenJpaTransactionData(OpenJPAEntityManager entityManager) |
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
createSavepoint()
Create a new savepoint.
|
void |
releaseSavepoint(java.lang.Object savepoint)
Explicitly release the given savepoint.
|
void |
rollbackToSavepoint(java.lang.Object savepoint)
Roll back to the given savepoint.
|
private final OpenJPAEntityManager entityManager
private int savepointCounter
public OpenJpaTransactionData(OpenJPAEntityManager entityManager)
public java.lang.Object createSavepoint() throws TransactionException
SavepointManager
rollbackToSavepoint
, and explicitly release a savepoint
that you don't need anymore via releaseSavepoint
.
Note that most transaction managers will automatically release savepoints at transaction completion.
createSavepoint
in interface SavepointManager
SavepointManager.rollbackToSavepoint(java.lang.Object)
or SavepointManager.releaseSavepoint(java.lang.Object)
NestedTransactionNotSupportedException
- if the underlying
transaction does not support savepointsTransactionException
- if the savepoint could not be created,
for example because the transaction is not in an appropriate stateConnection.setSavepoint()
public void rollbackToSavepoint(java.lang.Object savepoint) throws TransactionException
SavepointManager
The savepoint will not be automatically released afterwards.
You may explicitly call SavepointManager.releaseSavepoint(Object)
or rely on
automatic release on transaction completion.
rollbackToSavepoint
in interface SavepointManager
savepoint
- the savepoint to roll back toNestedTransactionNotSupportedException
- if the underlying
transaction does not support savepointsTransactionException
- if the rollback failedConnection.rollback(java.sql.Savepoint)
public void releaseSavepoint(java.lang.Object savepoint) throws TransactionException
SavepointManager
Note that most transaction managers will automatically release savepoints on transaction completion.
Implementations should fail as silently as possible if proper resource cleanup will eventually happen at transaction completion.
releaseSavepoint
in interface SavepointManager
savepoint
- the savepoint to releaseNestedTransactionNotSupportedException
- if the underlying
transaction does not support savepointsTransactionException
- if the release failedConnection.releaseSavepoint(java.sql.Savepoint)