मेरे पास दो तारीख खोज क्षेत्र है अर्थात् से और उससे। मुझे उस उपयोगकर्ता तालिका से रिकॉर्ड्स पुनर्प्राप्त करना होगा जिसका स्टार्टडेट खोज फ़ील्ड में दर्ज की गई तारीखों और तिथियों के बीच है और यदि से और तिथियां शून्य हैं तो मुझे उपयोगकर्ता तालिका से सभी रिकॉर्ड्स पुनर्प्राप्त करना होगा।एचक्यूएल में दो तिथियों के बीच गतिशील रूप से कैसे खोज करें?
FROM USER
WHERE
:start_flag =1
OR
STARTDATE between :from and :to
यहाँ start_flag प्रकार int है जहाँ से आप अगर और अशक्त हैं 1 पर सेट है की है:
मैं निम्नलिखित HQL क्वेरी की कोशिश की।
query.setParameter("from",startDt);
query.setParameter("to",endDt);
query.setParameter("start_flag",startFlag);
l= query.list();
यहाँ datatypes हैं:
startDt - java.util.Date
endDt- java.util.Date
startFlag- पूर्णांक
जब मैं ऊपर क्वेरी चलाने के साथ और बराबर से शून्य के साथ मुझे निम्नलिखित अपवाद मिलता है:
एसक्यूएल त्रुटि: 932, SQLState: 42000
ORA-00932: असंगत डेटाटाइप्स: DATE तक अपेक्षित बायनरी
आप मुझे बताओ कि इसके बाद के संस्करण की कार्यक्षमता को प्राप्त करने के HQL क्वेरी लिखने के लिए किया जा सका है?
आप का प्रयास किया था 'setDate' (या कुछ इसी तरह)' setParameter' के बजाय? तारीख दिनांकों को दिनांक कॉलम में सही तरीके से मैप किया गया है (या यह गलती से क्रमबद्ध किया गया है)? –
नहीं, मैंने setDate() का प्रयास नहीं किया है, लेकिन मुझे लगता है कि setParameteer() को – user2077648
काम करना चाहिए NHHernate के साथ अपने अनुभव में, ऐसा नहीं है। –