Sobes.tech
Junior — Middle

Puteți enumera argumentele principale utilizate la declararea adnotării @Transactional?

sobes.tech AI

Răspuns de la AI

Adnotarea @Transactional în Java (de obicei în Spring Framework) este utilizată pentru gestionarea tranzacțiilor. Principalele argumente pe care le puteți specifica la declararea acestei adnotări:

  • propagation — determină comportamentul tranzacției la apelarea unei metode, de exemplu, REQUIRED, REQUIRES_NEW.
  • isolation — nivelul de izolare al tranzacției, de exemplu, READ_COMMITTED, SERIALIZABLE.
  • timeout — timpul în secunde după care tranzacția va fi întreruptă dacă nu se finalizează.
  • readOnly — flag care indică dacă tranzacția este doar pentru citire (optimizare).
  • rollbackFor — listă de excepții pentru care tranzacția trebuie să fie anulată.
  • noRollbackFor — excepții pentru care nu se face rollback.

Exemplu de utilizare:

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