builder.transaction().transactionMode(TransactionMode.TRANSACTIONAL)
.transactionManagerLookup(new DummyTransactionManagerLookup())
.syncCommitPhase(true).syncRollbackPhase(true);
if (isOptimistic) {
builder.transaction().lockingMode(LockingMode.OPTIMISTIC)
.locking().writeSkewCheck(true).isolationLevel(IsolationLevel.REPEATABLE_READ)
.versioning().enable().scheme(VersioningScheme.SIMPLE);
} else {
builder.transaction().lockingMode(LockingMode.PESSIMISTIC);
}