JPQL fungerer som designet. Det fortolker det rigtigt, det er sådan funktionen og parameteren er defineret i din kode.
For at opnå det ønskede resultat med Oracle kan du bruge den indbyggede Oracle Collection type ODCIVARCHAR2LIST
. Så JPQL vil se ud som nedenfor:
SELECT e
FROM myentity e
WHERE Lower(e.myattribute) IN
(
SELECT Lower(column_value)
FROM table(sys.odcivarchar2list(?1)))
BEMÆRK: Til Oracle 12.2+ behøver du ikke table
funktion, så nedenfor vil også virke:
SELECT e
FROM myentity e
WHERE Lower(e.myattribute) IN
(
SELECT Lower(column_value)
FROM sys.odcivarchar2list(?1))