我想在列表中找到id的字段的聚合。你如何让这个工作:
final String ihql = "SELECT sum(revenue) from LineItemR where variantID in (:vid) and dtime>:dt";
List<Long> idList = new ArrayList<>(varIds);
return (double) Hibernate.getSessionFactory().openSession()
.createQuery(ihql)
.setParameter("dt", dtime)
.setParameter("vid", idList)
.uniqueResult();
此失败,出现以下错误:
INFO:无法将值'[18992199174]'绑定到参数:1;
java.util.ArrayList无法强制转换为java.lang.Long
线程“main”中的异常java.lang.ClassCastException:java.util.ArrayList无法强制转换为java.lang.Long
答案 0 :(得分:1)
如果您使用的是Hibernate而不是javax.persistence.Query,则可能需要使用setParameterList()
方法而不是setParameter()
。