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() {
// бизнес логикасы
}