Sobes.tech
Senior

@Transactional annotatsiyasi nima beradi va uning atributlari qanday?

sobes.tech AI

AIdan javob

Java'da @Transactional anotasyonu metodlar yoki sinflar darajasida tranzaksiyalarni boshqarish uchun ishlatiladi. U tranzaksiya ichidagi barcha operatsiyalar atomik tarzda bajarilishini kafolatlaydi: yoki hammasi muvaffaqiyatli yoki xato yuz bersa, rollback amalga oshiriladi.

@Transactionaldagi asosiy atributlar:

  • propagation — boshqa tranzaksion kontekstdan chaqirilganda tranzaksiya xulqini belgilaydi (masalan, REQUIRED, REQUIRES_NEW).
  • isolation — tranzaksiya izolyatsiya darajasi (READ_COMMITTED, SERIALIZABLE va boshqalar), ma'lumotlarning ko'rinishiga ta'sir qiladi.
  • timeout — tranzaksiya tugashini kutish vaqti, undan so'ng u to'xtatiladi.
  • readOnly — tranzaksiya faqat o'qish uchun ekanligini ko'rsatadi, bu ma'lumotlar bazasi bilan ishlashni optimallashtirishi mumkin.
  • rollbackFor / noRollbackFor — rollback qilinadigan yoki qilinmaydigan xatolik sinflari.

Misol:

@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.READ_COMMITTED, timeout = 30, readOnly = false)
public void updateData() {
    // biznes logika
}