में अद्वितीय परिणाम प्राप्त करना हम हाइबरनेट में मानदंडों का उपयोग करके अलग-अलग परिणाम कैसे प्राप्त कर सकते हैं।हाइबरनेट
हाइबरनेट
उत्तर
criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
देखें एक और अधिक लचीला समाधान हो सकता है:
criteria.setProjection(Projections.distinct(Projections.property("property")));
बेशक आप का मतलब है "Projections.distinct" – speshak
मैंने देखा, अच्छी तरह से देखा। – waxwing
आप Projection.distinct का उपयोग करने से बचना चाह सकते हैं क्योंकि इसके परिणामस्वरूप केवल एक ही संपत्ति को कम करने के लिए गंदे अनपेक्षित पक्ष को प्रभावित किया गया है। – user959690
आपकी क्वेरी/मापदंड पर निर्भर करता है। अगर आप में एक विशिष्ट आईडी आप criteria.uniqueResult (कॉल कर सकते हैं) अन्यथा आप फोन प्रदान criteria.setMaxResults (1) और criteria.uniqueResult फोन()
- 1. हाइबरनेट
- 2. हाइबरनेट
- 3. हाइबरनेट
- 4. हाइबरनेट
- 5. हाइबरनेट
- 6. हाइबरनेट
- 7. हाइबरनेट:
- 8. हाइबरनेट
- 9. हाइबरनेट
- 10. हाइबरनेट
- 11. हाइबरनेट
- 12. हाइबरनेट
- 13. हाइबरनेट:
- 14. हाइबरनेट
- 15. हाइबरनेट
- 16. हाइबरनेट
- 17. हाइबरनेट
- 18. हाइबरनेट
- 19. हाइबरनेट
- 20. हाइबरनेट
- 21. @ हाइबरनेट
- 22. हाइबरनेट
- 23. हाइबरनेट
- 24. हाइबरनेट
- 25. हाइबरनेट
- 26. हाइबरनेट
- 27. हाइबरनेट
- 28. हाइबरनेट
- 29. हाइबरनेट
- 30. हाइबरनेट
एक नहीं बल्कि एक डेटाबेस क्वेरी का उपयोग करके अलग परिणाम प्राप्त करने पर विचार करना चाहिए (उदाहरण के लिए Criteria.DISTINCT_ROOT_ENTITY का उपयोग करने के बजाय X से DISTINCT (xyz) चुनें। कृपया ध्यान दें कि मानदंड .DISTINCT_ROOT_ENTITY स्मृति में ऑब्जेक्ट्स से अद्वितीय परिणाम प्राप्त करता है (और डेटाबेस से नहीं), जो बड़े परिणाम सेट के लिए महंगा हो सकता है। – Philipp