2016-05-06 6 views
0

私はHQLの1対多の関係ですか?私のアプリケーションで

public class Lot { 

    @OneToMany (cascade = CascadeType.ALL, orphanRemoval = true) 
    private List<ProductAvailable> productAvailable; 

} 

public class ProductAvailable { 

    private String productName; 
    private double netAmount; 

} 

質問をたどるよう@OneToMany Hibernateの関係を持っている:私は、各Lotオブジェクトは、対応するProductAvailableオブジェクトのすべてのnetAmountの合計を持っている必要があるLotオブジェクトのリストを取得したいですか?

期待されるロットのリストを取得するためのHQLクエリは何でしょうか?

答えて

0

あなたのエンティティクラスにgroovyオブジェクトを使用すると簡単です。 Groovyクロージャは、そのような質問に対する簡単な解決策を提供し、コード行数を節約します。ロットインスタンス上でこのメソッドを呼び出すと、その後

ロットとProductAvailableがグルーヴィーなオブジェクトである場合

public double getTotalAmount(){ 
    return productAvailable.sum { it.getNetAmount() } 
} 

はあなたにその多くで利用可能なすべての製品のnetAmountの合計を与えるだろう。 HQLクエリを書くこともできません

+0

ありがとうございます@ムンナールですが、私はgroovyに慣れていません! – tinku