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
}