Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

हाइबरनेट ओरेकल अनुक्रम बड़े अंतर पैदा करता है

मुझे लगता है कि समस्या इस तथ्य से आती है कि अनुक्रम जनरेटर वास्तव में एक अनुक्रम जनरेटर नहीं है, बल्कि एक अनुक्रम हिलो जनरेटर है, जिसका डिफ़ॉल्ट आवंटन आकार 50 है। जैसा कि दस्तावेज़ीकरण द्वारा इंगित किया गया है:http://docs.jboss.org/ हाइबरनेट/स्थिर/एनोटेशन/संदर्भ/hi/html_single/#entity-mapping-identifier

इसका मतलब यह है कि यदि अनुक्रम मान 5000 है, तो अगला उत्पन्न मान 5000 * 50 =250000 होगा। अनुक्रम के कैशे मान को समीकरण में जोड़ें, और यह आपके विशाल प्रारंभिक अंतर की व्याख्या कर सकता है।

अनुक्रम के मूल्य की जाँच करें। यह अंतिम जेनरेट किए गए पहचानकर्ता से कम होना चाहिए। इस अंतिम जेनरेट किए गए मान + 1 के अनुक्रम को पुन:प्रारंभ न करने के लिए सावधान रहें, क्योंकि उत्पन्न मान तेजी से बढ़ेगा (हमें यह समस्या हुई है, और अतिप्रवाह के कारण नकारात्मक पूर्णांक आईडी थे)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle में अपरकेस में कनवर्ट करने के 2 तरीके

  2. प्रबंधित ODP.NET ड्राइवर डेटा स्रोत संवाद में दिखाई नहीं देता है

  3. Oracle NULLIF () फ़ंक्शन

  4. एसक्यूएल स्क्रिप्ट से शेल स्क्रिप्ट पर वापसी मूल्य

  5. Oracle - ORA-06502:PL/SQL:संख्यात्मक या मान त्रुटि (DBMS_OUTPUT)