मैं Criteria vs HQL
का उपयोग करने के लिए हाइबरनेट और स्थितियों से गुज़र रहा था और मेरी समझ यह है कि जब भी हम या HQL
द्वारा डेटाबेस से पूछताछ कर रहे हैं, तो दोनों बार हाइबरनेट को परिणाम सेट मिलेगा और स्मृति में डाल दिया जाएगा और फिर जब हम उसे कॉल करेंगे फिर से पूछताछ करें, डेटा को मेमोरी से लाया जाएगा, फिर उस डेटाबेस को मारकर, क्या मेरी समझ सही है?क्या एचक्यूएल क्वेरी हमेशा डेटाबेस हिट करती है और परिणाम प्राप्त करती है?
जैसा कि आप नीचे उल्लिखित प्रश्नों से टिप्पणियों से देख सकते हैं, यह सुझाव दिया गया था कि हाइबरनेट मानदंड सत्र से डेटा प्राप्त करेगा और एचक्यूएल हमेशा डेटाबेस पर जाकर हिट करेगा और इसलिए एचक्यूएल क्वेरी में कई कॉलों की संख्या जाएगी और डेटाबेस हिट होगा और यदि यह मामला है तो HQL
हल करने से अधिक समस्याएं पैदा करता है।
कृपया इस पर सलाह दें कि स्थिति के साथ थोड़ा उलझन में है।
संदर्भ question
AFAIK एक एचक्यूएल क्वेरी केवल क्वेरी कैश का उपयोग करेगी और क्वेरी और सभी पैरामीटर समान होने पर केवल परिणाम प्राप्त करेंगे। – Thomas
इसलिए यदि मैं + test.class.getName() + SORT_BY_ID से "" बना रहा हूं; ', मैं यह कैसे तय कर सकता हूं कि यह स्मृति या डेटाबेस को मार रहा है, हम हाइबरनेट v3.2 में कैश सेटिंग्स का प्रबंधन कैसे कर सकते हैं? – Rachel
@ जुहा: तो अब जब आप कहते हैं कि सत्र हमेशा डिफ़ॉल्ट रूप से होता है तो एचक्यूएल को सत्र से सीधे परिणाम मिलना चाहिए और डेटाबेस को फिर से हिट नहीं करना चाहिए? – Rachel