2011-10-06 18 views
5

मुझे आश्चर्य है कि हाइबरनेट क्वेरी भाषा में दिनांक अक्षर का उपयोग कैसे करें। मैंने अपने जेपीए प्रोजेक्ट में निम्नानुसार किया (प्रदाता एक्लिप्सेलिंक के रूप में) और यह काम करता है।हाइबरनेट में दिनांक अक्षर

SELECT m FROM Me m WHERE m.dob <= {d '1984-10-06'} 

लेकिन जब मैं अपने जेपीए प्रोजेक्ट के प्रदाता के रूप में हाइबरनेट (वी 3.6.7) बदलता हूं तो यह काम नहीं करता है।

+4

आप बोली क्या है वैध जेपीए वाक्य रचना (देखें JPA2 कल्पना खंड 4.6.1 - "JDBC भागने एसवाई ntax ")। यदि हाइबरनेट इसका समर्थन नहीं करता है तो यह हाइबरनेट में एक बग है, और इसके रूप में उठाया जाना चाहिए। – DataNucleus

+0

@डेटाक्लियस मैं आपके साथ सहमत हूं। जेपीए का समर्थन करने के लिए हाइबरनेट के वादे के मुताबिक, उन्हें इस वाक्यविन्यास का समर्थन करना होगा। लेकिन हाइबरनेट दिनांक की तारीख को 'yyyy-mm-dd'} – siva636

+0

के बजाय 'yyyy-mm-dd' के रूप में समर्थन देता है, हम एक परियोजना में हाइबरनेट ** V3.6.8 ** का उपयोग कर रहे हैं और यह मान्य जेपीए वाक्यविन्यास ' टी न तो काम करते हैं। – Stephan

उत्तर

2

reference documentation का कहना है:

भाव में प्रयोग किया जाता है, जहां खंड निम्नलिखित शामिल हैं:
[...]

  • एसक्यूएल शाब्दिक 'foo', 69, 6.66E + 2, '1970-01-01 10: 00: 01.0'
+0

'yyyy-mm-dd' के रूप में शाब्दिक तारीख का उपयोग करना मेरे लिए काम करता है (लेकिन यह एक गैर मानक तरीका है) – siva636

संबंधित मुद्दे