我有一个产品清单(产品是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参数?
答案 0 :(得分:2)
我认为您最好的选择是遍历产品列表并将ID值收集到单独的列表中以用作参数。请注意,您需要考虑一些极端情况,例如空列表和列表,其中包含IN
子句可以处理的更多条目。