में इस लिंक मैं टिप्पणी पर कि पहले उल्लेख किया, इस भाग पढ़ें:
एक "लाने" में शामिल होने या एक ही चयन का उपयोग करके अपने माता-पिता की वस्तुओं के साथ मूल्यों के संग्रह को आरंभ करने की अनुमति देता है। संग्रह के मामले में यह विशेष रूप से उपयोगी है। यह प्रभावी रूप से संघों और संग्रह के लिए मैपिंग फ़ाइल के बाहरी जुड़ाव और आलसी घोषणाओं को ओवरराइड करता है ।
यह "JOET FETCH" आपके पास (संग्रह = FetchType.LAZY) प्रॉपर्टी के अंदर इकाई (उदाहरण bellow) के लिए एक प्रॉपर्टी है तो इसका प्रभाव पड़ेगा।
और यह "जब क्वेरी होनी चाहिए" की विधि का ही प्रभाव है। और तुम भी पता होना चाहिए कि यह :
हाइबरनेट में दो ऑर्थोगोनल धारणाएं होती हैं: एसोसिएशन कब लाया जाता है और इसे कैसे लाया जाता है। यह महत्वपूर्ण है कि आप उन्हें भ्रमित न करें। हम प्रदर्शन को ट्यून करने के लिए उपयोग करते हैं। हम किसी विशेष वर्ग के किसी भी अलग किए गए उदाहरण में क्या डेटा हमेशा उपलब्ध है, इसके लिए एक अनुबंध को परिभाषित करने के लिए आलसी का उपयोग कर सकते हैं।
जब एसोसिएशन लाया जाता है -> आपका "FETCH" प्रकार
यह कैसे लाया जाता है -> ज्वाइन / सलेक्ट / सबसेक्ट / बैच
आपके मामले में, FETCH का केवल तभी प्रभाव होगा जब आपके पास कर्मचारी के अंदर एक विभाग के रूप में विभाग में कुछ इस तरह हो:
@OneToMany(fetch = FetchType.LAZY)
private Set<Department> department;
जब आप का उपयोग करें
FROM Employee emp
JOIN FETCH emp.department dep
आप मिल जाएगा emp
और emp.dep
। जब आप भ्रूण का उपयोग नहीं करते हैं, तब भी आप प्राप्त कर सकते हैं, emp.dep
लेकिन विभाग के उस सेट को प्राप्त करने के लिए हाइबरनेट डेटाबेस के लिए किसी अन्य चयन को संसाधित करेगा।
इसलिए यह सिर्फ एक प्रदर्शन ट्यूनिंग की बात है, जिसके बारे में आप एक ही क्वेरी (उत्सुक लाने) में सभी परिणाम प्राप्त करना चाहते हैं (आपको इसकी आवश्यकता है या नहीं), या आप इसे बाद में क्वेरी करना चाहते हैं जब आपको इसकी आवश्यकता होती है (आलसी लाने)।
जब आपको एक चयन (एक बड़ी क्वेरी) के साथ छोटे डेटा प्राप्त करने की आवश्यकता हो, तो उत्सुकता का उपयोग करें। या आलसी लाने के लिए क्वेरी का उपयोग करें जिसे आपको बाद की आवश्यकता है (कई छोटी क्वेरी)।
जब उपयोग करें:
कोई बड़ा गैर- संग्रहित संग्रह / उस इकाई के अंदर सेट नहीं है जिसे आप प्राप्त करने वाले हैं
अनुप्रयोग सर्वर से डेटाबेस सर्वर तक संचार बहुत दूर है और लंबे समय की आवश्यकता है
आप इसका उपयोग (नहीं है जब आप उस संग्रह उत्तरार्द्ध आवश्यकता हो सकती है बाहर का लेन-देन संबंधी विधि / वर्ग)