Sobes.tech
Junior — Middle

Puoi elencare i principali argomenti utilizzati durante la dichiarazione dell'annotazione @Transactional?

sobes.tech AI

Risposta dell'AI

L'annotazione @Transactional in Java (solitamente nel Spring Framework) viene utilizzata per gestire le transazioni. Gli argomenti principali che si possono specificare dichiarando questa annotazione:

  • propagation — definisce il comportamento della transazione durante la chiamata di un metodo, ad esempio, REQUIRED, REQUIRES_NEW.
  • isolation — livello di isolamento della transazione, ad esempio, READ_COMMITTED, SERIALIZABLE.
  • timeout — tempo in secondi dopo il quale la transazione verrà interrotta se non si conclude.
  • readOnly — flag che indica che la transazione è solo per lettura (ottimizzazione).
  • rollbackFor — lista di eccezioni per le quali la transazione deve essere annullata.
  • noRollbackFor — eccezioni per le quali non si verifica rollback.

Esempio di utilizzo:

@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.READ_COMMITTED, timeout = 30, readOnly = false)
public void updateData() {
    // logica di business
}