@Transactional envolve um método em uma transação de banco de dados: o Spring abre uma antes de o método rodar e faz commit quando ele retorna normalmente — ou faz rollback se ele lança uma exceção. Por baixo dos panos, é um proxy AOP, que é a origem da maioria das pegadinhas.
Uso básico
{
{
accounts.debit(from, amount);
accounts.credit(to, amount);
}
}
