Skip to content

Transactions_ar

رامي مناف edited this page Jun 4, 2019 · 3 revisions

الانتقالات Transaction

عند قيامك بعدّة عملياتٍ على قاعدة البيانات مرّةً واحدةً فأنت تقوم بنقل قاعدة البيانات من حالةٍ لأخرى, لكن عند تنفيذ العمليّات على حداً ستكون قاعدة البيانات في وضعٍ غير صحيحٍ, فمثلًا إن أراد عميلٌ بحسابٍ به 5000ل شراء حاسوبٍ بمبلغ 5000ل فستقوم في البداية بالتحقق من كونه يملك المال الكافي ثمّ ستقوم بسحب المبلغ من حسابه كخطوةٍ ثانيةٍ ثمّ ستودع المبلغ في حساب البائع, لكن إن قمت بتنفيذ هذه العمليات على قاعدة البيانات كلًّا على حدًا وحدث خطأ في أحد هذه العمليات سيؤدي ذلك لأن تكون قاعدة البيانات في وضع غير صحيح كأن يتم خصم المبلغ من المشتري وعدم إضافته للبائع, ولتفادي حصول مثل هذه الأمور يتم تنفيذ الخطوات العمليّة مرّةً واحدةً لضمان انتقال قاعدة البيانات من وضعٍ صحيحٍ إلى وضعٍ صحيحٍ آخر, بالإضافة لضمان تنفيذ كل الأوامر أو لا شيء منها, وتوفّر صفوف الأمر Transaction الّذي يسمح لك بتنفيذ عدّة أوامر مرّةً واحدةً من خلال تمريرها له بالتّرتيب إلى بانيه, وسيقوم الأمر أيضًا بضمان تنفيذ جميع الأوامر أو لا شيء منهم.

session.execute(new Transaction(customerDiscounting, sellerAdding));

Clone this wiki locally