public abstract class JdbcTransactionObjectSupport extends Object implements org.springframework.transaction.SavepointManager, org.springframework.transaction.support.SmartTransactionObject
ConnectionHolder
with a JDBC Connection
, and implements the
SavepointManager
interface based on that ConnectionHolder
.
Allows for programmatic management of JDBC Savepoints
.
Spring's DefaultTransactionStatus
automatically delegates to this, as it autodetects transaction objects which
implement the SavepointManager
interface.
DataSourceTransactionManager
Constructor and Description |
---|
JdbcTransactionObjectSupport() |
Modifier and Type | Method and Description |
---|---|
Object |
createSavepoint()
This implementation creates a JDBC 3.0 Savepoint and returns it.
|
void |
flush() |
ConnectionHolder |
getConnectionHolder()
Return the ConnectionHolder for this transaction object.
|
protected ConnectionHolder |
getConnectionHolderForSavepoint() |
Integer |
getPreviousIsolationLevel()
Return the retained previous isolation level, if any.
|
boolean |
hasConnectionHolder()
Check whether this transaction object has a ConnectionHolder.
|
boolean |
isReadOnly()
Return the read-only status of this transaction.
|
boolean |
isSavepointAllowed()
Return whether savepoints are allowed within this transaction.
|
void |
releaseSavepoint(Object savepoint)
This implementation releases the given JDBC 3.0 Savepoint.
|
void |
rollbackToSavepoint(Object savepoint)
This implementation rolls back to the given JDBC 3.0 Savepoint.
|
void |
setConnectionHolder(ConnectionHolder connectionHolder)
Set the ConnectionHolder for this transaction object.
|
void |
setPreviousIsolationLevel(Integer previousIsolationLevel)
Set the previous isolation level to retain, if any.
|
void |
setReadOnly(boolean readOnly)
Set the read-only status of this transaction.
|
void |
setSavepointAllowed(boolean savepointAllowed)
Set whether savepoints are allowed within this transaction.
|
public void setConnectionHolder(@Nullable ConnectionHolder connectionHolder)
public ConnectionHolder getConnectionHolder()
public boolean hasConnectionHolder()
public void setPreviousIsolationLevel(@Nullable Integer previousIsolationLevel)
@Nullable public Integer getPreviousIsolationLevel()
public void setReadOnly(boolean readOnly)
false
.public boolean isReadOnly()
public void setSavepointAllowed(boolean savepointAllowed)
false
.public boolean isSavepointAllowed()
public void flush()
public Object createSavepoint() throws org.springframework.transaction.TransactionException
createSavepoint
in interface org.springframework.transaction.SavepointManager
org.springframework.transaction.TransactionException
Connection.setSavepoint()
public void rollbackToSavepoint(Object savepoint) throws org.springframework.transaction.TransactionException
rollbackToSavepoint
in interface org.springframework.transaction.SavepointManager
org.springframework.transaction.TransactionException
Connection.rollback(java.sql.Savepoint)
public void releaseSavepoint(Object savepoint) throws org.springframework.transaction.TransactionException
releaseSavepoint
in interface org.springframework.transaction.SavepointManager
org.springframework.transaction.TransactionException
Connection.releaseSavepoint(java.sql.Savepoint)
protected ConnectionHolder getConnectionHolderForSavepoint() throws org.springframework.transaction.TransactionException
org.springframework.transaction.TransactionException