Sobes.tech
Senior
101

Ko sniedz @Transactional anotācija un kādi ir tās atribūti?

Uzņēmumi, kur jautāja
Позитив Технолоджис

Atbilde no AI

sobes.tech AI

Komentārs @Transactional Java valodā tiek izmantots transakciju pārvaldībai metožu vai klases līmenī. Tas nodrošina, ka visas darbības transakcijas ietvaros tiks veiktas atomiski: vai nu visas ar panākumiem, vai, ja rodas kļūda, notiks rollback.

Galvenās @Transactional īpašības:

  • propagation — nosaka transakcijas uzvedību, ja tā tiek izsaukta no cita transakcijas konteksta (piemēram, REQUIRED, REQUIRES_NEW).
  • isolation — transakcijas izolācijas līmenis (READ_COMMITTED, SERIALIZABLE utt.), ietekmē datu redzamību.
  • timeout — laiks, cik ilgi gaidīt transakcijas pabeigšanu, pēc kura tā tiks pārtraukta.
  • readOnly — norāda, ka transakcija ir tikai lasīšanai, kas var optimizēt darbu ar datu bāzi.
  • rollbackFor / noRollbackFor — klašu izņēmumi, kuriem tiks veikts rollback vai nē.

Piemērs:

@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.READ_COMMITTED, timeout = 30, readOnly = false)
public void updateData() {
    // biznesa loģika
}