Sobes.tech
Junior — Middle

Оё метавонед асосии даъвоҳоро, ки ҳангоми эълон кардани қайдномаи @Transactional истифода мешаванд, номбар кунед?

sobes.tech AI

Ҷавоб аз AI

Белгилама @Transactional дар Java (одатан дар Spring Framework) барои идоракунии транзаксияҳо истифода мешавад. Аргументҳои асосӣ, ки метавон дар вақти эълон кардани ин белгиро истифода бурд:

  • propagation — рафтори транзаксияро ҳангоми даъвати метод муайян мекунад, масалан, REQUIRED, REQUIRES_NEW.
  • isolation — сатҳи изолятсияи транзаксия, масалан, READ_COMMITTED, SERIALIZABLE.
  • timeout — вақти сонияҳо, пас аз он транзаксия қатъ мешавад агар анҷом наёбад.
  • readOnly — рамз, ки нишон медиҳад, ки транзаксия танҳо барои хондан аст (оптимизатсия).
  • rollbackFor — рӯйхати истисноҳо, ки дар онҳо транзаксия бояд баргардонида шавад.
  • noRollbackFor — истисноҳо, ки дар онҳо rollback анҷом намеёбад.

Маслиҳат барои истифода:

@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.READ_COMMITTED, timeout = 30, readOnly = false)
public void updateData() {
    // логикаи бизнес
}