[Java] ما الفرق بين ريسورس وسرترانزاكتيون و EntityManager.getTransaction ()


Answers

UserTransaction يشير إلى كيان المعاملة جتا . سوف تكون قادرا على استخدام هذا فقط عندما يكون هناك وحدة جتا المتاحة في خادم التطبيق: على سبيل المثال، إذا كنت تقوم بنشر تطبيق مع هذا على تومكات (الذي لا يدعم افتراضيا جتا)، سوف رمز الاعتماد على هذا تفشل . هذا هو النوع الافتراضي للمعاملة المستخدمة في إجب و مدب.

EntityManager.getTransaction() باسترداد كيان معاملة محلي . ويعرف هذا أحيانا أيضا بالمعاملة المحلية للموارد.

المعاملات المحلية للموارد مختلفة جدا عن المعاملات جتا: من بين أمور أخرى، المعاملات المحلية الموارد محددة لمورد، في حين أن المعاملات جتا تميل إلى أن تكون محددة لموضوع معين.

لمزيد من المعلومات حول الفرق بين المعاملات المحلية و جتا المعاملات، انظر هذه الإجابة ستاكوفيرفلو هنا: ما هو الفرق بين جتا والمعاملة المحلية؟

Question

هل يمكن لأي شخص أن يفسر ما هو الفرق بين:

@Resource
UserTransaction objUserTransaction;

و

EntityManager.getTransaction();

وأيضا ما هي الحاوية المدارة المعاملات؟ وكيف ينبغي أن أفعل ذلك في واجهة الجلسة إذا أريد إدراج ثلاثة صفوف في الجدول في المعاملة.