वसंत में लेनदेन वापस रोलिंग संदर्भित Spring documentation के लिए सर्वोत्तम प्रक्रियाएं:3/हाइबरनेट
किसी भी RuntimeException रोलबैक ट्रिगर किया जाएगा, और किसी भी जाँच की अपवाद नहीं
संदर्भित जाएगा javapractices.com
अनियंत्रित अपवाद:
- प्रोग्राम (बग) में दोषों का प्रतिनिधित्व करता है - अक्सर अमान्य तर्क गैर-निजी विधि से गुजरता है। करने के लिए जावा से बोली भाषा प्रोग्रामिंग, गोसलिंग, अर्नोल्ड, और होम्स द्वारा: "अनियंत्रित क्रम अपवाद की स्थिति है कि, आम तौर पर बोल प्रतिनिधित्व करते हैं, अपने कार्यक्रम के तर्क में त्रुटियों को प्रतिबिंबित और यथोचित रन समय से बरामद नहीं किया जा सकता । "
- RuntimeException की उपवर्गों कर रहे हैं, और आम तौर पर IllegalArgumentException, NullPointerException, या IllegalStateException का उपयोग कर लागू किया जाता है
- एक विधि (और वे लगभग हमेशा ऐसा नहीं करते हैं अनियंत्रित अपवाद इसके कार्यान्वयन के द्वारा फेंका के लिए एक नीति की स्थापना के लिए बाध्य नहीं है इसलिए)
जांचे हुए अपवादों:
- तत्काल चोर बाहर के क्षेत्रों में अवैध स्थिति का प्रतिनिधित्व की trol कार्यक्रम (अमान्य उपयोगकर्ता इनपुट, डेटाबेस समस्याओं, नेटवर्क की त्रुटियों, अनुपस्थित फ़ाइलें)
- अपवाद के उपवर्गों
- एक विधि सभी अपवादों इसके कार्यान्वयन के द्वारा फेंका जाँच के लिए एक नीति की स्थापना करने के लिए बाध्य कर रहे हैं (या तो जाँच अपवाद आगे ढेर, मेरे व्यापार तर्क के दौरान मैं एक समस्या की खोज और मैं परिवर्तन रोलबैक करना चाहते हैं पास या यह किसी भी तरह संभाल)
, मैं एक नया भागो फेंक करने के लिए है timeException? यह वास्तव में एक रनटाइम अपवाद (अनचेक अपवाद नहीं है) क्योंकि मैंने इसे तर्क में पहचाना है। या शायद मैं इन अवधारणाओं को गलत समझ रहा हूं?
मेरा वास्तविक प्रश्न, मेरी @ ट्रांस्सेक्शन सेवा विधियों में लेनदेन को वापस लाने के लिए सबसे अच्छा अभ्यास क्या है?
अगर मैं फेंकता हूं तो मैं अपनी विधि से कुछ कैसे वापस कर सकता हूं एक अपवाद? इसके अतिरिक्त, अपवाद फेंकना काफी महंगा है। अपवाद को फायर किए बिना लेनदेन को मैन्युअल रूप से रोलबैक करने का कोई तरीका नहीं है? –
@ गुइलाइमपॉलेट वन एक काउंटर्यूमपॉलेटलेट का सामना कर सकता है यदि आप जानबूझकर गैर-असाधारण व्यावसायिक प्रक्रिया प्रवाह के हिस्से के रूप में चीजों को वापस ले रहे हैं, तो आरडीबीएमएस बौने में रोलबैक से जुड़े लागत आधुनिकता पर अपवाद की वास्तविक या अनुमानित लागत के आयाम के आदेश से जेवीएम, और पूरे डिजाइन की समीक्षा की जानी चाहिए। भले ही, यदि आप घोषणात्मक लेनदेन के तरीके को पसंद नहीं करते हैं ... उनका उपयोग न करें। सुविधा का मतलब आपका एकमात्र विकल्प नहीं है। आप अभी भी सादे पुराने रोल-अपने-अपने हाइबरनेट सत्र लेन-देन का उपयोग कर सकते हैं। – Affe