Interface TransactionStatus
- All Superinterfaces:
Flushable
,SavepointManager
,TransactionExecution
- All Known Implementing Classes:
AbstractTransactionStatus
,DefaultTransactionStatus
,SimpleTransactionStatus
PlatformTransactionManager
transaction.
Extends the common TransactionExecution
interface.
Transactional code can use this to retrieve status information, and to programmatically request a rollback (instead of throwing an exception that causes an implicit rollback).
Includes the SavepointManager
interface to provide access
to savepoint management facilities. Note that savepoint management
is only available if supported by the underlying transaction manager.
- Since:
- 27.03.2003
- Author:
- Juergen Hoeller
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptiondefault void
flush()
Flush the underlying session to the datastore, if applicable: for example, all affected Hibernate/JPA sessions.default boolean
Return whether this transaction internally carries a savepoint, that is, has been created as nested transaction based on a savepoint.Methods inherited from interface org.springframework.transaction.SavepointManager
createSavepoint, releaseSavepoint, rollbackToSavepoint
Methods inherited from interface org.springframework.transaction.TransactionExecution
getTransactionName, hasTransaction, isCompleted, isNested, isNewTransaction, isReadOnly, isRollbackOnly, setRollbackOnly
-
Method Details
-
hasSavepoint
default boolean hasSavepoint()Return whether this transaction internally carries a savepoint, that is, has been created as nested transaction based on a savepoint.This method is mainly here for diagnostic purposes, alongside
TransactionExecution.isNewTransaction()
. For programmatic handling of custom savepoints, use the operations provided bySavepointManager
.The default implementation returns
false
. -
flush
default void flush()Flush the underlying session to the datastore, if applicable: for example, all affected Hibernate/JPA sessions.This is effectively just a hint and may be a no-op if the underlying transaction manager does not have a flush concept. A flush signal may get applied to the primary resource or to transaction synchronizations, depending on the underlying resource.
The default implementation is empty, considering flush as a no-op.
-