给定以下 HQL 查询:
FROM
Foo
WHERE
Id = :id AND
Bar IN (:barList)
我使用Query对象的setInteger()
方法设置了:id
。
我想使用一个对象列表设置:barList
,但是在查看Hibernate文档和方法列表时,我找不到明显的选择。有任何想法吗?
我不确定 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");
Entity from = from(Entity.class);
where(from.getCode()).in("Joe", "Bob");
Query<Entity> select = select(from);
javax.persistence.Query
则无效。这只是我的个人意见。 - Niel de Wet