Pesquisando propriedade do objeto em uma lista predefinida usando HQL
Pergunta
Eu estou tentando fazer uma consulta no HQL que ver se o ID de uma pessoa está em uma lista de pré-definido ids.
Por exemplo, eu gostaria de encontrar todas as pessoas que têm ID 1 ou 2 em um banco de dados.
O problema é que eu não posso fazer: de pessoa pessoa onde id em elementos (: id). Como os elementos espera um identificador (como person.childIds por exemplo) e não um parâmetro denominado
Existe uma maneira de fazer isso sem recorrer à análise de Lista e criar a string à mão?
Graças.
Solução
Tudo que você precisa fazer é definir uma coleção na consulta.
query.setParameterList("userIds", new Integer[] {1,2});
Então, em sua consulta ??p>
FROM User WHERE id IN (:userIds)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow