Reputation: 14741
Given the following HQL Query:
FROM
Foo
WHERE
Id = :id AND
Bar IN (:barList)
I set :id
using the Query object's setInteger()
method.
I would like to set :barList
using a List
of objects, but looking at the Hibernate documentation and list of methods I cannot see an obvious choice of which to use. Any ideas?
Upvotes: 68
Views: 107109
Reputation: 549
In TorpedoQuery it look like this
Entity from = from(Entity.class);
where(from.getCode()).in("Joe", "Bob");
Query<Entity> select = select(from);
Upvotes: 1
Reputation: 83011
Use Query.setParameterList()
, Javadoc here.
There are four variants to pick from.
Upvotes: 93
Reputation: 63054
I'm not sure about HQL, but in JPA you just call the query's setParameter
with the parameter and collection.
Query q = entityManager.createQuery("SELECT p FROM Peron p WHERE name IN (:names)");
q.setParameter("names", names);
where names
is the collection of names you're searching for
Collection<String> names = new ArrayList<String();
names.add("Joe");
names.add("Jane");
names.add("Bob");
Upvotes: 33