Hibernate、参数列表和对象列表

Hibernate、参数列表和对象列表,hibernate,Hibernate,我有一份产品清单(产品是id、名称、价格等)。 这些产品在另一个报告表中由id(HibernateXML中未链接)引用 我想有一个方法,可以接收产品列表,然后获取这些产品并生成一个where x in(productlist)。我的hql如下所示: SELECT category, SUM(id.downloadTrackingCount) " + "FROM Reporting " + "WHERE (id.productId IN (:products)) AND (id.fullDownl

我有一份产品清单(产品是id、名称、价格等)。 这些产品在另一个报告表中由id(HibernateXML中未链接)引用

我想有一个方法,可以接收产品列表,然后获取这些产品并生成一个where x in(productlist)。我的hql如下所示:

SELECT category, SUM(id.downloadTrackingCount) " +
"FROM Reporting " +
"WHERE (id.productId IN (:products)) AND (id.fullDownloadDate BETWEEN :startDate AND :endDate) " +
"GROUP BY category";

但是当我试图在productlist上设置参数时,我得到一个错误,说不能将产品转换为整数。是否有某种方法可以让Hibernate对列表中的每个产品执行getId,然后填写:products参数?

我认为最好的办法是浏览产品列表并将id值收集到单独的列表中作为参数使用。注意,您需要考虑诸如“空列表”和“列表”之类的角情况,在子句中可以处理“<代码>”。

这就是我所想的,我只是希望超出希望。这可能不是那么糟糕:<<代码> > <代码>可以只包含很多项,因此您将有非常少量的迭代。