1
現在、HQLを使用した単純な集計関数の結果が得られません。ここに私のクエリです:集計HQLクエリの結果の取得
Query q = entityManager.createQuery("SELECT t.id.seq, COUNT(*) AS nb FROM TPEntity t WHERE t.id.num=:num GROUP BY t.id.seq");
q.setParameter("num", num);
デバッガでは、クエリが正しく実行されているようです。しかし、私は結果を抽出する適切な方法を見つけることができません。私はClassCastExceptionトンを取得します。私の現在のコードは、任意の例外を発生させるのではなく、動作しません:これは常にfalseを返します
List<Object> list = (List<Object>) q.getResultList();
if(list.size() > 0){
for(Object o : list){
if(o instanceof List){
return true;
}
}
}
return false;
、イベントデバッガはそのoが型であることで2つの要素を持つ「AbstractList」を見せている場合。もちろんtrueを返すことは最終的なコードではなく、集計値が1より大きいかどうかをテストしたいと思います。これはテストのための中間コードに過ぎません。 あらかじめコードをご報告いただきありがとうございます。完全のために
uはあなたのクエリによって取得されたすべてのレコードを取得します? –
ええ、私は間違いを見つけました。 'List 'の代わりに 'List
おそらくあなた自身の質問に答えるべきです。 –