Sobes.tech
Junior — Middle

Em que situações a transação é registrada ao usar a anotação @Transactional?

sobes.tech IA

Resposta da IA

A anotação @Transactional no Spring é usada para gerir transações ao nível do método ou da classe. A confirmação (commit) da transação ocorre nas seguintes situações:

  • Após a execução bem-sucedida de um método anotado com @Transactional, se nenhuma exceção não tratada for lançada.
  • Se o método terminar sem erros, o Spring chama automaticamente o commit da transação, registando todas as alterações na base de dados.

Se durante a execução do método ocorrer uma exceção não tratada do tipo RuntimeException ou Error, a transação é revertida (rollback).

Exemplo:

@Transactional
public void updateData() {
    // operações com a base de dados
    // se aqui não ocorrerem exceções, a transação será confirmada
}