JPQL डिजाइन के अनुसार कार्य कर रहा है। इसकी व्याख्या सही है, इस प्रकार आपके कोड में फ़ंक्शन और पैरामीटर परिभाषित किए गए हैं।
Oracle के साथ वांछित परिणाम प्राप्त करने के लिए, आप इनबिल्ट Oracle संग्रह प्रकार ODCIVARCHAR2LIST
का उपयोग कर सकते हैं . तो JPQL नीचे जैसा दिखेगा:
SELECT e
FROM myentity e
WHERE Lower(e.myattribute) IN
(
SELECT Lower(column_value)
FROM table(sys.odcivarchar2list(?1)))
नोट: Oracle 12.2+ के लिए, आपको table
की आवश्यकता नहीं है समारोह, तो नीचे भी काम करेगा:
SELECT e
FROM myentity e
WHERE Lower(e.myattribute) IN
(
SELECT Lower(column_value)
FROM sys.odcivarchar2list(?1))