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

हाइबरनेट + ओरेकल क्लॉज लिमिटेशन में, इसे कैसे हल करें?

सबसे पहले, तथ्य यह है कि आपको एक प्रश्न के लिए 2000 से अधिक आईडी (आपके पहले बिंदु के आधार पर) पास करने की आवश्यकता है, यह अपने आप में एक चेतावनी घंटी है। शायद अंतर्निहित समस्या को हल करने का एक बेहतर तरीका है।

आप दृष्टिकोण # 2 का उपयोग कर सकते हैं और प्रत्येक सूची को सॉर्ट कर सकते हैं, फिर एप्लिकेशन के भीतर विलय कर सकते हैं। इसके लिए अतिरिक्त कोड की आवश्यकता होगी, लेकिन संभावना है (मान लें कि वास्तविक क्वेरी अपेक्षाकृत तेज़ है) दृष्टिकोण #3 से बेहतर प्रदर्शन करेगी।

#3 के लिए, अस्थायी तालिकाओं से निपटने के 2 बड़े नुकसान हैं:

  • जबकि हाइबरनेट उनका समर्थन करता है (देखें Table.sqlTemporaryTableCreateString विधि, यह Dialect . में सहायक विधियों के एक समूह का उपयोग करती है क्लास), वे आंतरिक रूप से उपयोग किए जाते हैं और ऐप से पहुंच योग्य होने के लिए आपकी ओर से अतिरिक्त कोडिंग की आवश्यकता होगी।
  • अधिक महत्वपूर्ण बात यह है कि अस्थायी तालिका का उपयोग करने से आप अपनी क्वेरी को मूल SQL के रूप में लिखने के लिए बाध्य होंगे (क्योंकि इसे मैप नहीं किया जाएगा)। यदि आप मानदंड API का उपयोग कर रहे हैं तो आपको sqlRestriction . का उपयोग करना होगा एक सबक्वेरी के साथ।


  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 SQL क्रॉस टैब क्वेरी

  2. विजुअल स्टूडियो 2015 ओरेकल कनेक्शन इश्यू में एसएसडीटी

  3. तुलना में समग्र कुंजी

  4. विंडोज 10 पर Oracle SQL डेवलपर 18.2 कैसे स्थापित करें?

  5. ODP.NET Oracle.ManagedDataAccess फ़ाइल के ORA-12537 नेटवर्क सत्र के अंत का कारण बनता है