Sobes.tech
Senior
104

Mida pakub @Transactional annotatsioon ja millised on selle atribuudid?

Ettevõtted, kust küsiti
Позитив Технолоджис

Vastus AI-lt

sobes.tech AI

Kommentaar @Transactional Java-s kasutatakse transaktsioonide haldamiseks meetodite või klasside tasemel. See tagab, et kõik operatsioonid transaktsiooni sees toimuvad atomiliselt: kas kõik edukalt või vea korral tehakse rollback.

@Transactionali peamised atribuudid:

  • propagation — määrab transaktsiooni käitumise, kui seda kutsutakse teise transaktsiooni kontekstist (näiteks REQUIRED, REQUIRES_NEW).
  • isolation — transaktsiooni isoleerimise tase (READ_COMMITTED, SERIALIZABLE ja teised), mõjutab andmete nähtavust.
  • timeout — aeg, mille jooksul transaktsioon peab lõppema, pärast seda see katkestatakse.
  • readOnly — näitab, et transaktsioon on ainult lugemiseks, mis võib optimeerida andmebaasiga töötamist.
  • rollbackFor / noRollbackFor — klassid erandite jaoks, mille puhul toimub rollback või mitte.

Näide:

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