execute
abstract fun <T> execute(propagation: TransactionPropagation, isolation: IsolationLevel = IsolationLevel.DEFAULT, readOnly: Boolean = false, timeoutSeconds: Int? = null, 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.