JPQL functioneert zoals ontworpen. Het interpreteert het goed, zo worden de functie en parameter in uw code gedefinieerd.
Om het gewenste resultaat met Oracle te bereiken, kunt u het ingebouwde Oracle Collection-type ODCIVARCHAR2LIST
gebruiken . Dus JPQL ziet er als volgt uit:
SELECT e
FROM myentity e
WHERE Lower(e.myattribute) IN
(
SELECT Lower(column_value)
FROM table(sys.odcivarchar2list(?1)))
OPMERKING: Voor Oracle 12.2+ heeft u geen table
nodig functie, dus hieronder werkt ook:
SELECT e
FROM myentity e
WHERE Lower(e.myattribute) IN
(
SELECT Lower(column_value)
FROM sys.odcivarchar2list(?1))