हाइबरनेट मानदंड समर्थन डीबी से लौटाए गए परिणामों को सीमित करने के लिए setMaxResults()
विधि प्रदान करता है।हाइबरनेट मानदंड सीमा तंत्र?
मुझे उनके दस्तावेज़ में इसका कोई जवाब नहीं मिल रहा है - यह कैसे कार्यान्वित किया जाता है? क्या यह पूरे परिणाम सेट के लिए पूछताछ कर रहा है और फिर केवल अनुरोध संख्या लौटा रहा है? या यह वास्तव में डेटाबेस अंत में क्वेरी को सीमित कर रहा है (मुझे LS कीवर्ड को mySql में लगता है)।
यह महत्वपूर्ण है क्योंकि यदि कोई प्रश्न संभावित रूप से कई सारे परिणाम लौटा सकता है, तो मुझे वास्तव में यह जानने की आवश्यकता है कि setMaxResults()
डेटाबेस में सभी पंक्तियों (जो खराब होगा) के लिए अभी भी पूछताछ करेगा।
इसके अलावा - यदि यह डेटाबेस अंत में पंक्तियों की संख्या को वास्तव में सीमित कर रहा है, तो यह इस क्रॉस-डीबी को कैसे प्राप्त कर रहा है (क्योंकि मुझे नहीं लगता कि प्रत्येक rdbms मेरी एसक्यूएल जैसी LIMIT कार्यक्षमता का समर्थन करता है)।
इंटरस्टिंग। तो, आप क्यों सोचते हैं, क्या उन्होंने एचक्यूएल का उपयोग सीमित करने का कोई तरीका नहीं दिया है, यदि वे एक मानदंड सेट मैक्स रेसल्ट्स को निर्दिष्ट बोली में परिवर्तित करने में सक्षम हैं? – john
http://stackoverflow.com/questions/1239723/how-do-you-do-a-limit-query-in-hql – Ritesh
में एक नज़र डालें, यह कुछ स्पष्टता प्रदान कर सकता है: http://stackoverflow.com/questions/1239723/कैसे करते हैं-आप करते हैं एक सीमा-क्वेरी में HQL।मेरी समझ यह है कि यह एचक्यूएल भाग डेटाबेस अज्ञेय रखने के लिए उबलता है, बोलीभाषा विशिष्ट विशेषताओं को अतिरिक्त विधि कॉल के माध्यम से किया जाता है जैसे setMaxResults – brent777