ऐसा लगता है कि आप जेपीक्यूएल के साथ एक समाधान की तलाश कर रहे हैं जैसे कि SELECT p FROM Period p WHERE datediff(p.to, p.from) > 10
.
मुझे डर है कि जेपीक्यूएल में ऐसी कोई कार्यक्षमता नहीं है इसलिए मैं देशी एसक्यूएल का उपयोग करने की सलाह देता हूं। यदि आपका विचार हाइबरनेट के SQLFunctionTemplate
. के साथ बोली का विस्तार करना है बहुत चालाक था। मैं इसे DATE_PART('day', end - start)
. का उपयोग करने के लिए बदलना चाहूंगा क्योंकि यह PostgreSQL के साथ तिथियों के बीच दिनों के अंतर को प्राप्त करने का तरीका है।
आप अपने फ़ंक्शन को PostgreSQL में भी परिभाषित कर सकते हैं और इसे मानदंड के साथ उपयोग कर सकते हैं function()
।
'CREATE OR REPLACE FUNCTION "datediff"(TIMESTAMP,TIMESTAMP) RETURNS integer AS \'DATE_PART('day', $1 - $2);\' LANGUAGE sql;'
cb.function("datediff", Integer.class, end, start);