重いHQLクエリを作成して、それを最適化しようとしています。Product
すべての製品について計算されたいくつかの統計を必要とするテーブルがあり、それを呼び出すことができますstat
。私はこの種のクエリを試し、すべての製品とその統計を一度に取得しようとしています(これは単純化されたクエリであり、実際のクエリははるかに複雑です)。
select new map(min(product) as prod, sum(somestat) as stat)
from Product product
left join product.stats somestat
group by product.id, product.name
order by product.name
ただし、この種のクエリを実行しようとすると、最初にプライマリ選択が実行され、次にX回実行SELECT product.* FROM product WHERE product.id=?
されて、返されたすべての商品が選択されます。
これらのProductインスタンスを作成するために、最初のクエリの結果を取得する方法はありますか?
前もって感謝します。