public abstract class

JdbcTransactionObjectSupport

extends Object
implements SavepointManager SmartTransactionObject
java.lang.Object
   ↳ org.springframework.jdbc.datasource.JdbcTransactionObjectSupport

Class Overview

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

Allows for programmatic management of JDBC 3.0 Savepoints. Spring's DefaultTransactionStatus will automatically delegate to this, as it autodetects transaction objects that implement the SavepointManager interface.

Note that savepoints are only supported for drivers which support JDBC 3.0 or higher.

Summary

Public Constructors
JdbcTransactionObjectSupport()
Public Methods
Object createSavepoint()
This implementation creates a JDBC 3.0 Savepoint and returns it.
void flush()
Flush the underlying sessions to the datastore, if applicable: for example, all affected Hibernate/JPA sessions.
ConnectionHolder getConnectionHolder()
Integer getPreviousIsolationLevel()
boolean hasConnectionHolder()
boolean isSavepointAllowed()
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)
void setPreviousIsolationLevel(Integer previousIsolationLevel)
void setSavepointAllowed(boolean savepointAllowed)
Protected Methods
ConnectionHolder getConnectionHolderForSavepoint()
[Expand]
Inherited Methods
From class java.lang.Object
From interface org.springframework.transaction.SavepointManager
From interface org.springframework.transaction.support.SmartTransactionObject

Public Constructors

public JdbcTransactionObjectSupport ()

Public Methods

public Object createSavepoint ()

This implementation creates a JDBC 3.0 Savepoint and returns it.

Returns
  • a savepoint object, to be passed into rollbackToSavepoint or releaseSavepoint
See Also

public void flush ()

Flush the underlying sessions to the datastore, if applicable: for example, all affected Hibernate/JPA sessions.

public ConnectionHolder getConnectionHolder ()

public Integer getPreviousIsolationLevel ()

public boolean hasConnectionHolder ()

public boolean isSavepointAllowed ()

public void releaseSavepoint (Object savepoint)

This implementation releases the given JDBC 3.0 Savepoint.

Parameters
savepoint the savepoint to release

public void rollbackToSavepoint (Object savepoint)

This implementation rolls back to the given JDBC 3.0 Savepoint.

Parameters
savepoint the savepoint to roll back to

public void setConnectionHolder (ConnectionHolder connectionHolder)

public void setPreviousIsolationLevel (Integer previousIsolationLevel)

public void setSavepointAllowed (boolean savepointAllowed)

Protected Methods

protected ConnectionHolder getConnectionHolderForSavepoint ()