public interface TransactionOperations
TransactionTemplate. Not often used directly,
 but a useful option to enhance testability, as it can easily be
 mocked or stubbed.| Modifier and Type | Method and Description | 
|---|---|
| <T> T | execute(TransactionCallback<T> action)Execute the action specified by the given callback object within a transaction. | 
| default void | executeWithoutResult(Consumer<TransactionStatus> action)Execute the action specified by the given  Runnablewithin a transaction. | 
| static TransactionOperations | withoutTransaction()Return an implementation of the  TransactionOperationsinterface which
 executes a givenTransactionCallbackwithout an actual transaction. | 
@Nullable <T> T execute(TransactionCallback<T> action) throws TransactionException
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.
action - the callback object that specifies the transactional actionnull if noneTransactionException - in case of initialization, rollback, or system errorsRuntimeException - if thrown by the TransactionCallbackexecuteWithoutResult(Consumer)default void executeWithoutResult(Consumer<TransactionStatus> action) throws TransactionException
Runnable within a transaction.
 If you need to return an object from the callback or access the
 TransactionStatus from within the callback,
 use execute(TransactionCallback) instead.
 
This variant is analogous to using a TransactionCallbackWithoutResult
 but with a simplified signature for common cases - and conveniently usable with
 Java 8 lambda expressions.
action - the Runnable that specifies the transactional actionTransactionException - in case of initialization, rollback, or system errorsRuntimeException - if thrown by the Runnableexecute(TransactionCallback), 
TransactionCallbackWithoutResultstatic TransactionOperations withoutTransaction()
TransactionOperations interface which
 executes a given TransactionCallback without 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 TransactionOperations implementation with actual
 transaction processing, use TransactionTemplate with an appropriate
 PlatformTransactionManager.