使用Java,Hibernate。
我有一个查询
String pixIds = "1,2,3";
String query = "SELECT * FROM comment WHERE PIX_ID IN (:pixIds)";
q.setParameter("pixIds", pixIds);
List<Object[]> results = q.getResultList();
我无法使用上面的代码将此参数绑定到pixIds。这样做的正确方法是什么?
注意:我这里的查询是我实际查询的简化版本。
答案 0 :(得分:5)
以下方法有效 public Query setParameterList(String name,Collection vals)抛出HibernateException
答案 1 :(得分:4)
Hibernate不支持在SQL查询中将绑定集合到IN (...)
。
您需要以与使用普通JDBC相同的方式工作:给定一个集合,在?
子句中动态生成具有适当数量IN
的查询,然后将该集合的元素绑定到{ {1}}秒。