2016-08-26 11 views
1

一つ記事はが好き多くを持っています。hibernateは、hqlクエリの1対多の関連付けをカウントしますか?

は、私は(数(article.upvotes))の記事を持って投票までの数をカウントHQLクエリを作成しようとしています!

私が試したクエリを以下に示しています。私はクラス全体を追加することを気にしなかった - すべての必要なコードは以下の通りです。

class Article { 
... 
... 
@OneToMany(mappedBy = "article", fetch = FetchType.LAZY) 
private Set<Like> articleLikes; // Contains uId who liked + articleId 

select a, count(a.articleLikes) from Article a 

次のエラーが生成されます。このクエリを実行する:私はここで間違って何をやっている

exception [Request processing failed; nested exception is org.hibernate.exception.SQLGrammarException: could not extract ResultSet] with root cause 

org.postgresql.util.PSQLException: ERROR: syntax error at or near "." 

答えて

0

特定の商品行を選択する必要があります。Aを選択すると、特定の行は表示されません。

あなたは記事を入手して、そのセットとしてa.articleLikesのサイズを取得する必要があります。

select a.articleLikes from Article a where YOUR-FINDER 

次にサイズを取得します。

あるいは、

select count(*) from like where ......

-1

プロパティarticleLikes用DBのテーブルにマッピング列は存在しません。ログの

使用hibernate.show_sqlプロパティ。

関連する問題