JPQL está funcionando según lo diseñado. Está interpretándolo bien, así es como se definen la función y el parámetro en su código.
Para lograr el resultado deseado con Oracle, puede utilizar el tipo de colección de Oracle incorporado ODCIVARCHAR2LIST
. Entonces JPQL se verá a continuación:
SELECT e
FROM myentity e
WHERE Lower(e.myattribute) IN
(
SELECT Lower(column_value)
FROM table(sys.odcivarchar2list(?1)))
table
función, por lo que a continuación también funcionará:
SELECT e
FROM myentity e
WHERE Lower(e.myattribute) IN
(
SELECT Lower(column_value)
FROM sys.odcivarchar2list(?1))