Ricerca della proprietà dell'oggetto in un elenco predefinito tramite HQL
Domanda
Sto provando a fare una query in HQL per vedere se l'id di una persona è in un elenco di ID predefiniti.
Ad esempio, vorrei trovare tutte le persone che hanno ID 1 o 2 in un database.
Il problema è che non posso fare: da Person person dove id in elements (: ids) perché elements prevede un identificatore (come person.childIds per esempio) e non un parametro con nome.
C'è un modo per farlo senza ricorrere all'analisi di List e creare manualmente la stringa?
Grazie.
Soluzione
Tutto quello che devi fare è impostare una raccolta nella query.
query.setParameterList("userIds", new Integer[] {1,2});
Quindi nella tua query
FROM User WHERE id IN (:userIds)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow