سؤال

يستخدم المشروع الذي أعمل فيه على الوصول إلى بيانات JDBC مستقيم في جميع مجدها الغليص ولا يستخدم أي معاملات. أشعر أن استخدام المعاملات وتبسيط طريقة كتابة طرق الوصول إلى البيانات أمر مهم، خاصة مع إجراء بعض التغييرات حاليا. كان المشروع موجودا لفترة من الوقت وليس مناسبا لإطار orm. كما أنه يستخدم الكثير من المفردات (UGH) وإحباطه لجعله قادرا على استخدام حقن التبعية سيكون مبلغا عاديا من العمل ولا أعتقد أنه بإمكاني إقناع أي شخص أن نفعل ذلك الآن.

أنا أحب واجهة الربيع JDBC، وتحديدا من خلال SimpleJdbcTemplate. وبعد سؤالي حول كيفية تمكين بعض معاملات بعض المعاملات البسيطة (لكل طلب Servlet) لهذا، دون الحاجة إلى تعيين أي شيء برمجيا في كل طريقة الوصول إلى البيانات أو استخدام حاوية الربيع IOC أو AOP. لقد لعبت حول بنية بلدي التي تنتهي مع واجهة مماثلة ل SimpleJdbcTemplate'S ويمكن أن تستخدم اتصال وعمالة محلية واحدة عند إجراء المكالمات الموجودة عليها في سياق الطلب (من خلال ServletRequestListener مع ThreadLocal). يبدو أنه يعمل بشكل جيد، لكنني أعتقد أن استخدام مكتبة خارجية جيدة مثل الربيع JDBC سيكون أفضل.

هل هناك أحد يمتلك خبرة لهذا؟

هل كانت مفيدة؟

المحلول

ربما يمكنك استخدام المعالجة و tradactioncallback. كما هو موضح في إدارة المعاملات البرنامجية?

نصائح أخرى

معاملات مقابض الربيع بالنسبة لك تصريح دون الحاجة إلى القلق بشأن كتابة فئات AOP. إذا كنت تستخدم JDK 5 أو أعلى وربيع 2.5، فكن ذلك أفضل التوضيحية.

كنت لا أوافق مع المعاملات لكل سيرفيل. يجب أن يكون لديك طبق خدمة، وهو جزء من التطبيق الذي يعرف عن وحدات العمل. مكالمات التحكم في الخدمات، والتي تعامل مع المعاملات.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top