Gestión de transacciones: profundización en @Transactional
@Transactional es una anotación basada en Spring AOP que envuelve un método en una transacción de base de datos. Antes de que comience el método, Spring abre una transacción (o se une a una existente). Una vez que el método regresa normalmente, se confirma. Si una excepción no comprobada se propaga, se revierte. Los detalles de este comportamiento están controlados por los atributos de propagación, aislamiento, rollbackFor y readOnly.