गुगलिंग और एपीआई खोजने के 3 घंटे के बावजूद मुझे कोई संदर्भ नहीं मिल रहा है कि हाइबरनेट मानदंड क्वेरी के भीतर डेटाबेस फ़ंक्शंस का उपयोग करना संभव है या नहीं। विशिष्ट होने के लिए:हाइबरनेट मानदंडों में कॉलम को बदलने के लिए डेटाबेस फ़ंक्शंस का उपयोग करना
मैं पोस्टग्रेज़ डेटाबेस और उस समूह द्वारा डेटाटाइम के दिनांक भाग तक पहुंच बनाना चाहता हूं। मैं कल्पना करता क्वेरी कुछ ऐसा दिखाई देगा:
session.createCriteria(Exam.class)
.setProjection(Projections.projectionList()
.add(Projections.property("DATE(beginExam)").as("beginDate"))
.add(Projections.groupProperty("beginDate")))
.list();
यह मैं एक "संपत्ति हल नहीं कर सका: तिथि (beginExam) ..." देने के काम नहीं करता है अपवाद। ऐसा लगता है कि यह करना एक बहुत ही साधारण बात है, और मुझे कुछ याद आना चाहिए। यह देखते हुए कि मैं गतिशील रूप से प्रतिबंधों का निर्माण भी कर रहा हूं (मैंने इसे उदाहरण में छोड़ दिया है) ऐसा लगता है कि मानदंड इसका उपयोग करने के लिए हाइबरनेट घटक है, लेकिन मैं इस बिंदु पर किसी भी सुझाव के लिए खुला हूं, द्वारा अपना खुद का समूह बनाकर।
धन्यवाद
मैंने किया था, अच्छी तरह से। ईक के लिए कई तरीकों में और बीच में कॉलम के मूल्य को एक तिथि में बदलने की कोई विधि नहीं है, इसलिए इसकी तुलना किसी समूहप्रॉपर्टी से की जा सकती है या रखी जा सकती है। – user996088
@ user996088: startExam का डेटा प्रकार क्या है? आप Projections.sqlProjection में _any_ SQL का उपयोग कर सकते हैं, इसलिए मुझे नहीं लगता कि आप इसे किसी तारीख में क्यों परिवर्तित नहीं कर पाएंगे। – tscho
मेरी गलती। मेरे एंजस्ट में मुझे यह नहीं पता था कि gkamal ने मुझे गलत दिशा के साथ सही दिशा में इंगित किया था। – user996088