2012-09-18 18 views
7

संभव डुप्लिकेट मिलान:
Example of using CURRENT_DATE in JPA queryबनाएं क्वेरी आज की तारीख के लिए

मैं अपने भंडार के लिए एक क्वेरी को जोड़ने के लिए आज की तारीख के खिलाफ DB में संग्रहीत एक तारीख की तुलना करने की कोशिश कर रहा हूँ।

मेरे क्वेरी इस तरह है:

@Query("Select c from Customer c where c.terminated != 1 or c.terminationDate > <currentDate>") 
public List<Customer> getTerminatedCustomers(); 

मैं <currentDate> के लिए क्या सम्मिलित कर सकते हैं?

यदि सब कुछ विफल हो जाता है तो मैं विधि में पैरामीटर जोड़ सकता हूं और वर्तमान दिनांक को इस तरह की क्वेरी में भेज सकता हूं। लेकिन यदि संभव हो, तो मैं एक और अधिक सुरुचिपूर्ण समाधान पसंद करूंगा।

उत्तर

20

यह प्रश्न वास्तव में this one का डुप्लिकेट है। जावा पर्सिस्टेंस एपीआई विनिर्देश अनुभाग 4.6.17.2.3 के अनुसार पूर्वनिर्धारित कार्य CURRENT_DATE, CURRENT_TIME और CURRENT_TIMESTAMP हैं। तो क्वेरी तथ्य यह है कि `CURRENT_DATE` एक मानक जेपीए समारोह है के बारे में के रूप में

select c from Customer c where c.terminated != 1 or c.terminationDate > CURRENT_DATE 
+0

में परिभाषित किया जा करने के लिए होता है और यह सभी जेपीए प्रदाताओं और आरडीबीएमएस में एक ही तरह से काम करना चाहिए, यह') होना चाहिए CURRENT_DATE ('जब एसक्यूएल सर्वर के साथ हाइबरनेट में प्रयोग किया जाता है। ([सबूत] (https://stackoverflow.com/q/15298426/1429387)) – naXa

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