Hibernate,parameterLists和对象列表

时间:2011-07-05 19:27:14

标签: hibernate

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

我希望有一种方法可以接收产品列表,然后获取这些产品并在(产品列表)中生成一个x。我的hql看起来像这样:

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

但是当我尝试在产品列表上设置setParame时,我收到错误消息,指出无法将Products转换为Integer。是否有一些方法我可以使用它来告诉Hibernate对列表中的每个产品执行getId,然后填入:products参数?

1 个答案:

答案 0 :(得分:2)

我认为您最好的选择是遍历产品列表并将ID值收集到单独的列表中以用作参数。请注意,您需要考虑一些极端情况,例如空列表和列表,其中包含IN子句可以处理的更多条目。