Mundarija:

Tranzaktsiyalarni boshqarishda standart orqaga qaytarish siyosati qanday?
Tranzaktsiyalarni boshqarishda standart orqaga qaytarish siyosati qanday?

Video: Tranzaktsiyalarni boshqarishda standart orqaga qaytarish siyosati qanday?

Video: Tranzaktsiyalarni boshqarishda standart orqaga qaytarish siyosati qanday?
Video: 美国执照私掠船将封锁马六甲中国石油运输命脉,人民币无法国际化数字货币坑死微信和支付宝 US privateer to block the Strait of Malacca. Scary DC/EP. 2024, Qadam tashlamoq
Anonim

Uning ichida standart konfiguratsiya, Spring Framework ning tranzaksiya infratuzilma kodi faqat a tranzaksiya uchun orqaga qaytarish ish vaqti bo'lsa, belgilanmagan istisnolar; ya'ni, tashlangan istisno RuntimeException ning misoli yoki pastki sinfi bo'lsa. (Xatolar ham bo'ladi - tomonidan standart - natijada a orqaga qaytarish ).

Shuningdek, tranzaktsiyalarni boshqarish nima?

Reklamalar. Ma'lumotlar bazasi tranzaksiya yaxlit ish birligi sifatida qaraladigan harakatlar ketma-ketligidir. Ushbu harakatlar to'liq bajarilishi yoki umuman ta'sir qilmasligi kerak. Tranzaksiyalarni boshqarish ma'lumotlar yaxlitligi va izchilligini ta'minlash uchun RDBMSga yo'naltirilgan korporativ dasturning muhim qismidir.

Ikkinchidan, JPA-da orqaga qaytishni qanday hal qilasiz? Esda tutingki, ob'ektni davom ettirish darhol kiritish so'rovini bajarmaydi. Bu shunchaki Hibernate-ga tranzaktsiya tugashidan oldin qo'shimchani bajarish kerakligini aytadi. Kimga orqaga qaytarish tranzaktsiyada siz @Transaction izohidan foydalanishingiz mumkin. Siz uni usul darajasida yoki sinf darajasida amalga oshirishingiz mumkin.

Keyinchalik savol tug'iladi, @transactional annotatsiyasi nima qiladi?

The tranzaksiya izohi o'zi yagona ma'lumotlar bazasi doirasini belgilaydi tranzaksiya . Qat'iylik konteksti hisoblanadi cheklangan Java ob'ektlari to'plamining holatini kuzatadigan va ushbu ob'ektlardagi o'zgarishlarga ishonch hosil qiluvchi sinxronizator ob'ekti bor oxir-oqibat ma'lumotlar bazasiga qaytib keldi.

Java-da tranzaksiyani qanday qaytarishim mumkin?

Tranzaksiyani bajarish/orqaga qaytarish misoli

  1. Sinfning forName(String className) API usuli yordamida JDBC drayverini yuklang.
  2. Ma'lumotlar bazasiga ulanishni yarating.
  3. Ulanishning setAutoCommit(mantiqiy autoCommit) API usuli bilan avtomatik commitni oʻchirib qoʻying.
  4. SQL yangilanishlarini bajaring va ularning har birini Ulanishning commit() API usuli bilan bajaring.

Tavsiya: