一篇 文章 有很多 赞 。
我正在尝试创建 hql 查询,该查询计算(计数(article.upvotes))文章的最多投票数量!
我尝试过的查询如下所示。我没有费心去添加我的全班 - 所有必要的代码都在下面。
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 :(得分:0)
您应该选择特定的文章行。选择A,不会给出任何特定的行。
你应该得到这篇文章,然后将a.articleLikes的大小作为一个集合。
select a.articleLikes from Article a where YOUR-FINDER
然后获得大小。
或者,
select count(*) from like where ......
答案 1 :(得分:-1)
db表中没有属性articleLikes。
的映射列对日志使用hibernate.show_sql属性。