Top Description Fields Constructors Methods
org.springframework.jdbc.datasource

public abstract Class JdbcTransactionObjectSupport

extends Object
implements SavepointManager, SmartTransactionObject
Class Inheritance
All Implemented Interfaces
org.springframework.transaction.support.SmartTransactionObject, java.io.Flushable, org.springframework.transaction.SavepointManager
Known Direct Subclasses
org.springframework.jdbc.datasource.DataSourceTransactionManager.DataSourceTransactionObject
Imports
java.sql.SQLException, .Savepoint, org.apache.commons.logging.Log, .LogFactory, org.springframework.lang.Nullable, org.springframework.transaction.CannotCreateTransactionException, .NestedTransactionNotSupportedException, .SavepointManager, .TransactionException, .TransactionSystemException, .TransactionUsageException, org.springframework.transaction.support.SmartTransactionObject, org.springframework.util.Assert

Convenient base class for JDBC-aware transaction objects. Can contain a ConnectionHolder with a JDBC Connection, and implements the SavepointManager interface based on that ConnectionHolder.

Allows for programmatic management of JDBC Savepoints. Spring's org.springframework.transaction.support.DefaultTransactionStatus automatically delegates to this, as it autodetects transaction objects which implement the SavepointManager interface.

Author
Juergen Hoeller
Since
1.1
See Also
DataSourceTransactionManager

Field Summary

Modifier and TypeField and Description
private ConnectionHolder
private static final Log
private Integer
private boolean
private boolean

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public Object
createSavepoint()

Implements org.springframework.transaction.SavepointManager.createSavepoint.

This implementation creates a JDBC Savepoint and returns it.
public ConnectionHolder
getConnectionHolder()

Return the ConnectionHolder for this transaction object.

protected ConnectionHolder
public Integer
getPreviousIsolationLevel()

Return the retained previous isolation level, if any.

public boolean
hasConnectionHolder()

Check whether this transaction object has a ConnectionHolder.

public boolean
isReadOnly()

Return the read-only status of this transaction.

public boolean
isSavepointAllowed()

Return whether savepoints are allowed within this transaction.

public void
releaseSavepoint(Object
the savepoint to release
savepoint
)

Implements org.springframework.transaction.SavepointManager.releaseSavepoint.

This implementation releases the given JDBC Savepoint.
public void
rollbackToSavepoint(Object
the savepoint to roll back to
savepoint
)

Implements org.springframework.transaction.SavepointManager.rollbackToSavepoint.

This implementation rolls back to the given JDBC Savepoint.
public void
setConnectionHolder(ConnectionHolder connectionHolder)

Set the ConnectionHolder for this transaction object.

public void
setPreviousIsolationLevel(Integer previousIsolationLevel)

Set the previous isolation level to retain, if any.

public void
setReadOnly(boolean readOnly)

Set the read-only status of this transaction.

public void
setSavepointAllowed(boolean savepointAllowed)

Set whether savepoints are allowed within this transaction.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

connectionHolderback to summary
private ConnectionHolder connectionHolder
Annotations
@Nullable
loggerback to summary
private static final Log logger
previousIsolationLevelback to summary
private Integer previousIsolationLevel
Annotations
@Nullable
readOnlyback to summary
private boolean readOnly
savepointAllowedback to summary
private boolean savepointAllowed

Constructor Detail

JdbcTransactionObjectSupportback to summary
public JdbcTransactionObjectSupport()

Method Detail

createSavepointback to summary
public Object createSavepoint() throws TransactionException

Implements org.springframework.transaction.SavepointManager.createSavepoint.

This implementation creates a JDBC Savepoint and returns it.

Returns:Object

Doc from org.springframework.transaction.SavepointManager.createSavepoint.

a savepoint object, to be passed into rollbackToSavepoint or releaseSavepoint

Annotations
@Override
Exceptions
TransactionException:

Doc from org.springframework.transaction.SavepointManager.createSavepoint.

if the savepoint could not be created, for example because the transaction is not in an appropriate state

See Also
java.sql.Connection#setSavepoint
getConnectionHolderback to summary
public ConnectionHolder getConnectionHolder()

Return the ConnectionHolder for this transaction object.

getConnectionHolderForSavepointback to summary
protected ConnectionHolder getConnectionHolderForSavepoint() throws TransactionException
getPreviousIsolationLevelback to summary
public Integer getPreviousIsolationLevel()

Return the retained previous isolation level, if any.

Annotations
@Nullable
hasConnectionHolderback to summary
public boolean hasConnectionHolder()

Check whether this transaction object has a ConnectionHolder.

isReadOnlyback to summary
public boolean isReadOnly()

Return the read-only status of this transaction.

Since
5.2.1
isSavepointAllowedback to summary
public boolean isSavepointAllowed()

Return whether savepoints are allowed within this transaction.

releaseSavepointback to summary
public void releaseSavepoint(Object savepoint) throws TransactionException

Implements org.springframework.transaction.SavepointManager.releaseSavepoint.

This implementation releases the given JDBC Savepoint.

Parameters
savepoint:Object

Doc from org.springframework.transaction.SavepointManager.releaseSavepoint.

the savepoint to release

Annotations
@Override
Exceptions
TransactionException:

Doc from org.springframework.transaction.SavepointManager.releaseSavepoint.

if the release failed

See Also
java.sql.Connection#releaseSavepoint
rollbackToSavepointback to summary
public void rollbackToSavepoint(Object savepoint) throws TransactionException

Implements org.springframework.transaction.SavepointManager.rollbackToSavepoint.

This implementation rolls back to the given JDBC Savepoint.

Parameters
savepoint:Object

Doc from org.springframework.transaction.SavepointManager.rollbackToSavepoint.

the savepoint to roll back to

Annotations
@Override
Exceptions
TransactionException:

Doc from org.springframework.transaction.SavepointManager.rollbackToSavepoint.

if the rollback failed

See Also
java.sql.Connection#rollback(java.sql.Savepoint)
setConnectionHolderback to summary
public void setConnectionHolder(ConnectionHolder connectionHolder)

Set the ConnectionHolder for this transaction object.

setPreviousIsolationLevelback to summary
public void setPreviousIsolationLevel(Integer previousIsolationLevel)

Set the previous isolation level to retain, if any.

setReadOnlyback to summary
public void setReadOnly(boolean readOnly)

Set the read-only status of this transaction. The default is false.

Since
5.2.1
setSavepointAllowedback to summary
public void setSavepointAllowed(boolean savepointAllowed)

Set whether savepoints are allowed within this transaction. The default is false.