2010-11-26 17 views
6

के साथ DataIntegrityViolationException को पकड़ने में असमर्थ मैं डीबी लेनदेन के प्रबंधन के लिए स्प्रिंग 3 का उपयोग कर रहा हूं। जब भी कोई अपवाद उठाया जाता है, तो मैं अपवाद पकड़ता हूं और संबंधित संदेश लौटाता हूं। लेकिन जब वसंत लेनदेन करता है, अपवाद को फिर से उठाया जाता है और org.springframework.dao.DataIntegrityValidationException में लपेटा जाता है। मैं उस अपवाद को कैसे संभाल सकता हूं? क्या मुझे इंटरसेप्टर या कुछ और इस्तेमाल करना चाहिए? क्या किसी को पहले से ही इस समस्या का सामना करना पड़ा है?लपेटा लेनदेन

अग्रिम

उत्तर

9

अपने लेन-देन सीमाओं आपकी सेवा परत पर कर रहे हैं धन्यवाद, तो आप सीमा के बाहर अपवाद को पकड़ने चाहिए (अगर कोई है, जो आपको चाहिए है)। स्प्रिंग काम करता है अगर लेनदेन सीमा के बाहर एक अपवाद बुलबुले, लेनदेन वापस लुढ़का है। अपवाद को पकड़कर आप उस प्रक्रिया को रोक रहे हैं, जिसे आप शायद नहीं चाहते हैं।

इंटरसेप्टर लेनदेन सीमा के बाहर अपवाद से निपटने का एक अच्छा तरीका है।

+0

अब मैं देखता हूं कि मेरी गलती कहां है। धन्यवाद – Neuquino

संबंधित मुद्दे