यह एक निश्चित गतिरोध . है परिस्थिति। यह आपकी कक्षाओं के साथ हाइबरनेट समस्या की तुलना में MySQL त्रुटि से अधिक संबंधित है। आइए पहले एक गतिरोध . की परिभाषा की समीक्षा करें :
अधिक जानकारी के लिए यह पृष्ठ देखें:http://en.wikipedia.org/wiki/Deadlock
आप इस स्थिति से कैसे निपटते हैं। ठीक है, आपको निम्नलिखित लेख पढ़ने की जरूरत है:InnoDB में गतिरोध . इसमें आपके लिए आवश्यक अधिकांश जानकारी है। यह लेख विस्तार से बताता है कि गतिरोध का पता कैसे लगाया जाए और उससे कैसे निपटा जाए, इसे अवश्य पढ़ें।
अनिवार्य रूप से आपको ऊपर दी गई जानकारी के आधार पर निम्नलिखित कदम उठाने होंगे:
- एक MySQL ट्रेस बनाएं:MySQL सर्वर पर चल रही सभी क्वेरी को ट्रेस करें।
- गतिरोध ट्रेस जानकारी प्राप्त करें
- डेड लॉक ट्रेस और MySQL ट्रेस का आपस में मिलान करके डेड लॉक का कारण पता करें।
InnoDB के लेख में उपचारों की एक सूची भी है, इसलिए मैं उन्हें यहाँ दोहराने नहीं जा रहा हूँ। बस गतिरोध का ध्यान रखें एक घातक त्रुटि नहीं है, आपको बस इसे संभालने की जरूरत है। तो शायद अपवाद पकड़ें और लेनदेन का पुनः प्रयास करें। यह भी सुनिश्चित करें कि हाइबरनेट द्वारा जेनरेट की जा रही आपकी क्वेरी इस अर्थ में इष्टतम हैं कि वे इंडेक्स का उपयोग कर रहे हैं जहां वे कर सकते हैं आदि। एक और चीज जिसे आप आजमा सकते हैं वह है बैचिंग हाइबरनेट पर लेनदेन और बैच . में क्रियान्वित ।
मुझे यकीन है कि ऊपर दिए गए दो लिंक के साथ आप समस्या को संभालने में सक्षम होंगे और यह आपके लिए स्वयं के माध्यम से काम करने के लिए मूल्यवान अनुभव होगा। यदि आपको कोई विशेष वस्तु मिलती है तो आपको उसे प्रश्न में जोड़ने में समस्या होती है और चलिए उस पर विचार करते हैं।