Sobes.tech
Senior

Nurodykite @Transactional anotacijos parametrus

sobes.tech AI

Atsakymas iš AI

Spring'e @Transactional žymuo naudojamas transakcijų valdymui ir turi keletą pagrindinių parametrų:

  • propagation — apibrėžia transakcijos elgesį metodo iškvietimo metu, pvz., REQUIRED, REQUIRES_NEW, SUPPORTS ir kt.
  • isolation — transakcijos izoliacijos lygis, pvz., READ_COMMITTED, SERIALIZABLE.
  • timeout — maksimalus transakcijos vykdymo laikas sekundėmis.
  • readOnly — nurodo, ar transakcija yra tik skaitymo, kas gali optimizuoti darbą su duomenų baze.
  • rollbackFor ir noRollbackFor — išimčių klasės, kurioms transakcija turi būti arba neturi būti atšaukta.

Pavyzdys naudojimo:

@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.READ_COMMITTED, timeout = 30, readOnly = false, rollbackFor = Exception.class)
public void updateData() {
    // verslo logika
}