0

私はJPQLが初めてで、機能しない「複雑な」クエリがあります。

次のコードを使用して、データベース内の列データの合計を取得しようとしています:

ブヌスダオ

    @Override
public int getTotalBonus(int MatiereId) {
    Query requete = em.createNamedQuery("Seance.getTotalBonus");
    requete.setParameter("x", MatiereId);
    return requete.getFirstResult();
}

ボーナスエンティティ:

...
@NamedQuery(name = "Seance.getTotalBonus", query = "select sum(e.BonusNumber) from Bonus e WHERE e.matiere.matiereId = :x")
...

BunusDaoLocalで

@Local
public interface BunusDaoLocal{

    int getTotalBonus();
}

しかし、数値を取得すると、結果として-1が返されます

4

1 に答える 1

0

ロギングを有効にして、生成された SQL が正しいことを確認してください。そうである場合は、SQL をネイティブ SQL クエリとして実行してみてください。正しい結果が得られますか?

どの JPA プロバイダーを使用していますか?

于 2013-07-11T13:31:36.320 に答える