给定以下 HQL 查询:
FROM
Foo
WHERE
Id = :id AND
Bar IN (:barList)
我:id
使用 Query 对象的setInteger()
方法进行设置。
我想:barList
使用一个List
对象进行设置,但是查看 Hibernate 文档和方法列表,我看不到要使用的明显选择。有任何想法吗?
使用Query.setParameterList()
,Javadoc 这里。
有四种变体可供选择。
我不确定 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");
在TorpedoQuery 中它看起来像这样
Entity from = from(Entity.class);
where(from.getCode()).in("Joe", "Bob");
Query<Entity> select = select(from);