का ऑर्डर करना मेरे पास एक क्लास व्यक्ति है जिसमें पुस्तकें हैं। किसी विशेष आदेश में क्रमबद्ध या सॉर्ट किए गए संग्रह के लिए यह अर्थपूर्ण नहीं है।हाइबरनेट: सेट
अब कहें कि मेरे पास एक टेबल के साथ एक खोज पृष्ठ है जिसमें व्यक्ति और पुस्तक शामिल है। मैं व्यक्तियों और पुस्तक दोनों के क्षेत्रों द्वारा परिणामों को क्रमबद्ध करने में सक्षम होना चाहता हूं, और उसके बाद हाइबरनेट से एक सूची प्राप्त कर सकता हूं, और इसके ऊपर पुनरावृत्ति कर सकता हूं।
क्योंकि संग्रह एक सेट है, पुस्तकों का क्रम गायब हो गया है (हाइबरनेट के पर्सिस्टेंटसेट पुस्तकें के हैशसेट को लपेटता है, जिसे आदेश नहीं दिया जाता है)।
तो, इस दृष्टिकोण के साथ मुझे पुस्तक फ़ील्ड द्वारा भी आदेश नहीं दिए जा सकते हैं।
यदि मैं संग्रह से सूची में संग्रह बदलता हूं, तो मेरा मॉडल अर्थात् गलत है। मॉडल में आदेश रखने के लिए कोई मतलब नहीं है।
क्या किताबों के क्रम को रखने के लिए कोई दृष्टिकोण है? शायद PersistentSet को एक LinkedHashSet (जिसे आदेश दिया गया है) को लपेटने का एक तरीका है, जहां आदेश मेरी खोज मानदंड द्वारा परिभाषित किया गया है?
चीयर्स!
प्रतिक्रिया (+1) के लिए धन्यवाद। हाँ, मैंने इसे देखा है। लेकिन उदाहरण में उन्होंने तय किया है कि आदेश एक निश्चित क्षेत्र पर है। मैं चाहता हूं कि उपयोगकर्ता को यूआई में क्लिक करने के आधार पर मानदंड एपीआई के माध्यम से सेट किया जाए। –
आप मैपिंग में जो भी निर्दिष्ट करते हैं उससे अलग, मानदंड क्वेरी में परिणामों के लिए ऑर्डरिंग भी निर्दिष्ट कर सकते हैं। http://docs.jboss.org/hibernate/stable/core/reference/en/html/querycriteria.html#querycriteria-ordering –
हाँ आप कर सकते हैं, लेकिन दुर्भाग्यवश मैपिंग (या @OrderBy) में ऑर्डर-द्वारा प्राथमिकता लेती है , जो मानदंड द्वारा बेकार आदेश को बेकार बनाता है। या कम से कम, यह मैपिंग के आदेश के क्रमबद्ध होने के बाद आता है। –