2016-08-07 11 views
-1

私はHibernateとJPAを使用しています。私はエンティティクラスCompanyRateを持っています。JSPでの集計関数からの値の表示

CompanyRate.java

@Entity 
public class CompanyRate { 

    @Id 
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    private int idRate; 
    @Column(nullable = false) 
    private int atmosphere; 
    @Column(nullable = true) 
    private int salary; 
    @Column(nullable = false) 
    private int opportunityToDevelop; 
    @Column(nullable = false) 
    private int socialPackage; 
    @ManyToOne(targetEntity = User.class) 
    private User user; 
    @ManyToOne(targetEntity = Company.class) 
    Company company; 
} 

私は雰囲気、給与、opportunityToDevelop、socialPackage company.idComapny =のAVG値を表示したいですか? JSP上で。

私は、実行されたクエリでgetResultList()を使用して、JSPでそれを表示することができます。しかし、私は単一の変数の各結果を割り当てる必要があります。それを行う最善の方法は何ですか?あなたが求めている何

+0

変数ごとに1つのクエリを実行できますが、クエリを1つだけ使用する方法がありますか? – Valery

答えて

0

は、以下のSQLと等価です:

SELECT c.id, 
     AVG(t.atmosphere), 
     AVG(t.salary), 
     AVG(t.opportunityToDevelop), 
     AVG(t.socialPackage) 
    FROM table t, company c 
WHERE t.companyid = c.id 
    AND c.id IN (:companyIds) 
GROUP BY c.id; 

HQL/JPQLに上記の翻訳または休止状態またはJPA基準APIを活用することは些細な運動でなければなりません。

だけで構築QuerysetParameter("companyIds", listOfCompanyIds)を呼び出し、その後、使用するAPIによってgetResultList()またはlist()を呼び出してください。