2011-07-05 15 views
0

私は商品のリストを持っています(商品はID、名前、価格などです)。 製品は、別のテーブルで報告されたid(hibernate xmlでリンクされていない)によって参照されます。Hibernate、パラメータリストとオブジェクトのリスト

私は、製品のリストを受け取り、それらの製品を受け取り、どこでx(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にsetParameterを使用しようとします。 Hibernateに、リスト内の各製品のgetIdを実行して、それを:productsパラメーターに入力するように指示するために使用できるメソッドがありますか?

答えて

2

私はあなたの最善の策は、製品リストを歩いて、別のリストにID値を収集してパラメータとして使用することだと思います。空リストや、IN句で扱えるエントリが多いリストなど、コーナーケースを考慮する必要があることに注意してください。

+0

これは私が思ったことですが、私は希望以上に望んでいました。 – arinte

+0

それはおそらくそれほど悪くはありません:) 'IN'は多くの項目しか取ることができませんので、かなり少ない回数の反復ができます。 –

関連する問題