I want to know if JPQL is capable of doing a case-insensitive search on a collection of string.
Column1 (int) | Column2(s
No you cannot. Reason is that UPPER and LOWER operate to the strings, so they do not take collection as argument.
You can always do :
from Table1 a where (upper(a.column2) = upper(:value1) or upper(a.column2) = upper(:value2) or ...)