Até que GRAILS-7093 faça parte do core, a funcionalidade permanecerá disponível na forma de um plugin para Grails: transaction-handling.
Exemplos de utilização:
User.withTransaction {
}
User.withTransaction(isolation: 'readUncommitted') {
}
User.withTransaction(readOnly: true, timeout: 'default') {
}
User.withTransaction(propagationBehaviorName: 'PROPAGATION_MANDATORY', timeout: 765) {
}
User.withTransaction(propagation: "mandatory") {
}
User.withNewTransaction {
}
User.withNewTransaction(isolationLevel: TransactionDefinition.ISOLATION_SERIALIZABLE) {
}
User.withNewTransaction(propagation: 'supports', readOnly: true, timeout: 612) {
}
User.withNewTransaction(isolationLevelName: 'ISOLATION_REPEATABLE_READ') {
}
Referências adicionais
