मुझे आज कुछ उत्सुक व्यवहार का सामना करना पड़ा और यह सोच रहा था कि यह अपेक्षाकृत या मानक है या नहीं। हम MySQL5 के खिलाफ हाइबरनेट का उपयोग कर रहे हैं। कोडिंग के दौरान मैं एक लेनदेन को बंद करना भूल गया, मुझे लगता है कि अन्य लोग संबंधित हो सकते हैं।गैर-प्रतिबद्ध डेटाबेस लेनदेन और ऑटो-वृद्धि कॉलम
जब मैंने अंततः लेनदेन बंद कर दिया, तो कोड चलाया और तालिका की जांच की, मैंने निम्नलिखित पर ध्यान दिया। लेन-देन को बंद किए बिना हर बार मैंने गलती से अपना कोड चलाया, जिसके परिणामस्वरूप वास्तविक पंक्तियां डाली नहीं गईं, फिर भी ऑटो-वृद्धि वृद्धि सरोगेट प्राथमिक कुंजी मान में वृद्धि हुई, ताकि मेरे पास एक अंतर हो (यानी आईडी फ़ील्ड मान के साथ कोई पंक्ति नहीं है 751 से 762)।
क्या यह अपेक्षित या मानक व्यवहार है? क्या यह डेटाबेस के आधार पर भिन्न हो सकता है? और/या हाइबरनेट के अपने लेन-देन अमूर्तता पर कुछ संभावित प्रभाव पड़ता है?
मुझे जवाब पता था, लेकिन यह अभी भी एक दिलचस्प सवाल है! – RichardOD
आदर्श रूप से आपके आवेदन/डिज़ाइन को अनुक्रम में किसी भी अंतर से प्रभावित नहीं किया जाना चाहिए - आपको ऐसी परिस्थिति में खुद को कभी नहीं लेना चाहिए जहां यह वास्तव में महत्वपूर्ण है –