Interface TransactionOperations
- All Known Implementing Classes:
- TransactionTemplate
TransactionTemplate. Not often used directly,
 but a useful option to enhance testability, as it can easily be
 mocked or stubbed.- Since:
- 2.0.4
- Author:
- Juergen Hoeller
- 
Method SummaryModifier and TypeMethodDescription<T> Texecute(TransactionCallback<T> action) Execute the action specified by the given callback object within a transaction.default voidExecute the action specified by the givenRunnablewithin a transaction.static TransactionOperationsReturn an implementation of theTransactionOperationsinterface which executes a givenTransactionCallbackwithout an actual transaction.
- 
Method Details- 
executeExecute the action specified by the given callback object within a transaction.Allows for returning a result object created within the transaction, that is, a domain object or a collection of domain objects. A RuntimeException thrown by the callback is treated as a fatal exception that enforces a rollback. Such an exception gets propagated to the caller of the template. - Parameters:
- action- the callback object that specifies the transactional action
- Returns:
- a result object returned by the callback, or nullif none
- Throws:
- TransactionException- in case of initialization, rollback, or system errors
- RuntimeException- if thrown by the TransactionCallback
- See Also:
 
- 
executeWithoutResultExecute the action specified by the givenRunnablewithin a transaction.If you need to return an object from the callback or access the TransactionStatusfrom within the callback, useexecute(TransactionCallback)instead.This variant is analogous to using a TransactionCallbackWithoutResultbut with a simplified signature for common cases - and conveniently usable with Java 8 lambda expressions.- Parameters:
- action- the Runnable that specifies the transactional action
- Throws:
- TransactionException- in case of initialization, rollback, or system errors
- RuntimeException- if thrown by the Runnable
- Since:
- 5.2
- See Also:
 
- 
withoutTransactionReturn an implementation of theTransactionOperationsinterface which executes a givenTransactionCallbackwithout an actual transaction.Useful for testing: The behavior is equivalent to running with a transaction manager with no actual transaction (PROPAGATION_SUPPORTS) and no synchronization (SYNCHRONIZATION_NEVER). For a TransactionOperationsimplementation with actual transaction processing, useTransactionTemplatewith an appropriatePlatformTransactionManager.
 
-