Sobes.tech
Senior

@Transactional белгиси эмне берет жана анын кандай өзгөчөлүктөрү бар?

sobes.tech AI

AIден жооп

Javaда @Transactional белгиси методдор же класстардын деңгээлинде транзакцияларды башкаруу үчүн колдонулат. Ал транзакциянын ичинде бардык операциялар атомдук түрдө аткарылат: же бардыгы ийгиликтүү болот, же ката болсо, rollback жүргүзүлөт.

@Transactionaldын негизги мүнөздөмөлөрү:

  • propagation — башка транзакциялык контексттен чакырылганда транзакциянын жүрүм-турумун аныктайт (мисалы, REQUIRED, REQUIRES_NEW).
  • isolation — транзакциянын изоляция деңгээли (READ_COMMITTED, SERIALIZABLE жана башка), маалыматтын көрүнүктүүлүгүнө таасир этет.
  • timeout — транзакцияны аяктоо үчүн күтүүнүн убактысы, ал өткөндөн кийин ал үзүлөт.
  • readOnly — транзакциянын тек гана окуу үчүн экенин көрсөтөт, бул базас менен иштөөнү оптималдаштыра алат.
  • rollbackFor / noRollbackFor — ката класстары, алар үчүн транзакция кайтарылат же кайтарылбайт.

Мисал:

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