给出以下HQL查询:
FROM
Foo
WHERE
Id = :id AND
Bar IN (:barList)
我使用Query对象的:id
方法设置setInteger()
。
我想使用:barList
对象设置List
,但是查看Hibernate文档和方法列表,我看不到明显的选择。有什么想法吗?
答案 0 :(得分:90)
使用Query.setParameterList()
,Javadoc here。
有四种变体可供选择。
答案 1 :(得分:31)
我不确定HQL,但在JPA中,您只需使用参数和集合调用查询setParameter
。
Query q = entityManager.createQuery("SELECT p FROM Peron p WHERE name IN (:names)");
q.setParameter("names", names);
其中names
是您要搜索的名称集合
Collection<String> names = new ArrayList<String();
names.add("Joe");
names.add("Jane");
names.add("Bob");
答案 2 :(得分:1)
在TorpedoQuery中,它看起来像这样
Entity from = from(Entity.class);
where(from.getCode()).in("Joe", "Bob");
Query<Entity> select = select(from);