Sobes.tech
Junior — Middle

Pode enumerar os principais argumentos utilizados ao declarar a anotação @Transactional?

sobes.tech IA

Resposta da IA

A anotação @Transactional em Java (geralmente no Spring Framework) é usada para gerir transações. Os principais argumentos que podem ser especificados ao declarar esta anotação:

  • propagation — define o comportamento da transação ao chamar um método, por exemplo, REQUIRED, REQUIRES_NEW.
  • isolation — nível de isolamento da transação, por exemplo, READ_COMMITTED, SERIALIZABLE.
  • timeout — tempo em segundos após o qual a transação será interrompida se não for concluída.
  • readOnly — flag que indica que a transação é apenas para leitura (otimização).
  • rollbackFor — lista de exceções que farão a transação reverter.
  • noRollbackFor — exceções para as quais não ocorre rollback.

Exemplo de uso:

@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.READ_COMMITTED, timeout = 30, readOnly = false)
public void updateData() {
    // lógica de negócio
}