سؤال

أستخدم التعليقات التوضيحية لتمييز الأساليب التي يجب تنفيذها في معاملة.

لكن في مكان واحد بحاجة للقيام به transactionManager.rollback() يدويًا ، بدون شرح. كيف يمكنني الحصول عليها transactionManager هدف؟

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

المحلول

إذا كنت ترغب في تراجع المعاملة الحالية ، فيمكنك استخدامها

    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

لاحظ أنه لا تراجع المعاملة على الفور - فإنه يحدد حالة "التراجع فقط" ، لذلك سيتم ترحيل المعاملة أثناء محاولة الالتزام.


خلاف ذلك ، إذا كنت بحاجة إلى معاملة برمجية ، فيمكنك استخدامها TransactionTemplate, ، كما هو موضح في 10.6 إدارة المعاملات البرمجية.

كما يمكنك الحصول على مثيل PlatformTransactionManager, ، لكنها لا تستخدم على نطاق واسع منذ ذلك الحين TransactionTemplate هو النهج الموصى به لتصوير المعاملة البرمجية.

أنظر أيضا:

نصائح أخرى

إذا تم تكوين كائنك بحلول الربيع ، فيمكنك إيقاف تشغيل مسار UnductionManager فيه ...

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