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

एचक्यूएल क्वेरी में कंडीटोन के साथ शामिल हों?

इसके अनुरूप HQL है

  select header.advmagencymaster.mamaid,
         header.advmagencymaster.mamaname,header.trohiono 
         from ADVRoheader header 

लेकिन एचक्यूएल में पूरी वस्तु को पुनः प्राप्त करना बेहतर होता है ताकि हम अन्य गुणों का भी उपयोग कर सकें

   from ADVRoheader header 
   inner join 
   header.advmagencymaster master

एचक्यूएल अंतर्निहित डेटाबेस पर निर्भर नहीं है। यह सभी डेटाबेस (ओरेकल, माइस्क्ल, एसक्यूएल सर्वर इत्यादि) के लिए समान होगा। केवल हमें मुख्य कॉन्फ़िगरेशन फ़ाइल में डेटाबेस कनेक्शन को बदलने की जरूरत है।

आपकी मॉडल कक्षाएं इस तरह दिखाई देंगी

class ADVMAgencyMaster{
  private String mamaid;
 private String mamaname;  //getters and setters
}

class ADVRoheader{
 private String trohiono;
 private ADVMAgencyMaster advmagencymaster;     // Reference to the ADVMAgencyMaster
 //getters and setters}

आप पहले से ही xml में अनेक से एक संबंध परिभाषित कर चुके हैं

 <many-to-one name="advmagencymaster" class="com.adv.hibernatebean.ADVMAgencyMaster" fetch="select"> <column name="TROHAMAID" /></many-to-one>

इसलिए ADVRoheader ऑब्जेक्ट लोड करते समय हाइबरनेट आंतरिक ऑब्जेक्ट संदर्भ "advmagencymaster" को भी लोड करेगा।

इसके लिए आपको फ़ेच ="सेलेक्ट" के बजाय आलसी ="झूठा" निर्दिष्ट करना होगा।

आलसी ="सच" - आलसी लोडिंग यह केवल मूल वस्तु को लोड करेगा

आलसी- "झूठा" - उत्सुक लोडिंग यह बच्चे (आंतरिक) वस्तु को भी मूल वस्तु के साथ लोड करेगा।

दोनों hbm.xml फ़ाइलों को मुख्य कॉन्फ़िगरेशन फ़ाइल (hibernate.cfg.xml) में निम्नानुसार जोड़ें

 <mapping resource="com/ADVRoheader.hbm.xml"></mapping>
 <mapping resource="com/ADVRomaster.hbm.xml"></mapping> 

सेशन फ़ैक्टरी क्लोजिंग टैग से ठीक पहले यहाँ मैपिंग डेटाबेस के साथ हो रही है।

आमतौर पर जनरेटर तत्वों के लिए हमें टाइप इंटीजर का उपयोग करने और डेटाबेस में भी बदलाव करने की आवश्यकता होती है।

अतिरिक्त फ़िल्टरिंग हम मुख्य क्वेरी के बाद 'कहां' खंड जोड़ सकते हैं। यहां केवल शामिल होने की स्थिति की आवश्यकता है और इसे पहले से ही हाइबरनेट द्वारा नियंत्रित किया जाता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कहां क्लॉज में उपनाम का उपयोग कैसे करें?

  2. REGEXP_REPLACE और PL/SQL के बिना UUID स्ट्रिंग बनाना

  3. चयन और अद्यतन के बीच दौड़ की स्थिति

  4. बाधा कैसे बदलें

  5. ओरेकल 12.1.0.2 . पर भारी अदला-बदली