execute

open override fun <T> execute(propagation: TransactionPropagation, isolation: IsolationLevel, readOnly: Boolean, timeoutSeconds: Int?, block: (TransactionStatus) -> T): T

Executes a block of code within a transaction context.

Parameters

propagation

The transaction propagation behavior (e.g., REQUIRED, REQUIRES_NEW).

isolation

The isolation level to use. IsolationLevel.DEFAULT leaves the current state unchanged.

readOnly

Hint to the database for read-only optimization.

timeoutSeconds

Optional timeout in seconds. Handled differently by implementations.

block

The logic to execute within the transaction.