类 JdbcTransactionObjectSupport
- java.lang.Object
- org.springframework.jdbc.datasource.JdbcTransactionObjectSupport
- 所有已实现的接口:
Flushable
,SavepointManager
,SmartTransactionObject
public abstract class JdbcTransactionObjectSupport extends Object implements SavepointManager, SmartTransactionObject
Convenient base class for JDBC-aware transaction objects. Can contain aConnectionHolder
with a JDBCConnection
, and implements theSavepointManager
interface based on thatConnectionHolder
.Allows for programmatic management of JDBC
Savepoints
. Spring'sDefaultTransactionStatus
automatically delegates to this, as it autodetects transaction objects which implement theSavepointManager
interface.- 从以下版本开始:
- 1.1
- 作者:
- Juergen Hoeller
- 另请参阅:
DataSourceTransactionManager
构造器概要
构造器 构造器 说明 JdbcTransactionObjectSupport()
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 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()
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.从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
从接口继承的方法 org.springframework.transaction.support.SmartTransactionObject
isRollbackOnly
构造器详细资料
JdbcTransactionObjectSupport
public JdbcTransactionObjectSupport()
方法详细资料
setConnectionHolder
public void setConnectionHolder(@Nullable ConnectionHolder connectionHolder)
Set the ConnectionHolder for this transaction object.
getConnectionHolder
public ConnectionHolder getConnectionHolder()
Return the ConnectionHolder for this transaction object.
hasConnectionHolder
public boolean hasConnectionHolder()
Check whether this transaction object has a ConnectionHolder.
setPreviousIsolationLevel
public void setPreviousIsolationLevel(@Nullable Integer previousIsolationLevel)
Set the previous isolation level to retain, if any.
getPreviousIsolationLevel
@Nullable public Integer getPreviousIsolationLevel()
Return the retained previous isolation level, if any.
setReadOnly
public void setReadOnly(boolean readOnly)
Set the read-only status of this transaction. The default isfalse
.- 从以下版本开始:
- 5.2.1
isReadOnly
public boolean isReadOnly()
Return the read-only status of this transaction.- 从以下版本开始:
- 5.2.1
setSavepointAllowed
public void setSavepointAllowed(boolean savepointAllowed)
Set whether savepoints are allowed within this transaction. The default isfalse
.
isSavepointAllowed
public boolean isSavepointAllowed()
Return whether savepoints are allowed within this transaction.
flush
public void flush()
从接口复制的说明:SmartTransactionObject
Flush the underlying sessions to the datastore, if applicable: for example, all affected Hibernate/JPA sessions.- 指定者:
flush
在接口中Flushable
- 指定者:
flush
在接口中SmartTransactionObject
createSavepoint
public Object createSavepoint() throws TransactionException
This implementation creates a JDBC 3.0 Savepoint and returns it.- 指定者:
createSavepoint
在接口中SavepointManager
- 返回:
- a savepoint object, to be passed into
SavepointManager.rollbackToSavepoint(java.lang.Object)
orSavepointManager.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 state- 另请参阅:
Connection.setSavepoint()
rollbackToSavepoint
public void rollbackToSavepoint(Object savepoint) throws TransactionException
This implementation rolls back to the given JDBC 3.0 Savepoint.- 指定者:
rollbackToSavepoint
在接口中SavepointManager
- 参数:
savepoint
- the savepoint to roll back to- 抛出:
NestedTransactionNotSupportedException
- if the underlying transaction does not support savepointsTransactionException
- if the rollback failed- 另请参阅:
Connection.rollback(java.sql.Savepoint)
releaseSavepoint
public void releaseSavepoint(Object savepoint) throws TransactionException
This implementation releases the given JDBC 3.0 Savepoint.- 指定者:
releaseSavepoint
在接口中SavepointManager
- 参数:
savepoint
- the savepoint to release- 抛出:
NestedTransactionNotSupportedException
- if the underlying transaction does not support savepointsTransactionException
- if the release failed- 另请参阅:
Connection.releaseSavepoint(java.sql.Savepoint)
getConnectionHolderForSavepoint
protected ConnectionHolder getConnectionHolderForSavepoint() throws TransactionException