Gostaria de carregar todos os objetos que têm uma tag textual definida para qualquer um de um número pequeno, mas arbitrário de valores de nosso banco de dados. A maneira lógica de fazer isso no SQL seria construir uma cláusula "IN". JPQL permite IN, mas parece exigir que eu especifique cada parâmetro para IN diretamente (como em, "in (: in1,: in2,: in3)").
Existe alguma maneira de especificar uma matriz ou lista (ou algum outro contêiner) que deve ser desenrolada para os valores de uma cláusula IN?
O limite do oráculo é de 1000 parâmetros. O problema foi resolvido pelo hibernate na versão 4.1.7 embora dividindo a lista de parâmetros passada em conjuntos de 500 veja JIRA HHH-1123
fonte