غير قادر على التقاط dataintegrityViolationException مع معاملة ملفوفة

StackOverflow https://stackoverflow.com/questions/4288364

سؤال

أنا أستخدم Spring 3 لإدارة معاملات DB. كلما تم رفع استثناء ، ألقي الاستثناء وأرجع الرسالة المقابلة. ولكن عندما يرتكب الربيع المعاملة ، يتم رفع الاستثناء مرة أخرى وملفوف في أ org.springframework.dao.DataIntegrityValidationException. كيف يمكنني التعامل مع هذا الاستثناء؟ هل يجب علي استخدام المعترضات أو أي شيء آخر؟ هل كان لدى أي شخص بالفعل هذه المشكلة من قبل؟

شكرا مقدما

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

المحلول

إذا كانت حدود المعاملات الخاصة بك في طبقة خدمتك (إذا كان لديك واحدة ، والتي يجب عليك) ، فيجب عليك التقاط الاستثناء خارج الحدود. الطريقة التي يعمل بها الربيع هي إذا كانت فقاعات استثناء خارج حدود المعاملة ، يتم التراجع عن المعاملة. من خلال اللحاق بالاستثناء ، فإنك توقف هذه العملية ، والتي ربما لا تريدها.

تعتبر المقاطعات طريقة جيدة للتعامل مع الاستثناء خارج حدود المعاملة.

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