int retries) {
DefaultTransaction suspended = getActiveTransaction();
try {
activeTransaction.set(null);
TransactionSettings settings = new TransactionSettings();
settings.setRetries(retries);
settings.setPropagation(Propagation.REQUIRED);
settings.setIsolation(isolation);
return withTransaction(settings, callback, dialect);
} finally {
activeTransaction.set(suspended);
}
}