首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >spring @Query,期望关闭,找到“(”接近“)

spring @Query,期望关闭,找到“(”接近“)
EN

Stack Overflow用户
提问于 2016-04-07 12:14:23
回答 2查看 23.6K关注 0票数 9

我有以下几点建议:

代码语言:javascript
复制
@Query("SELECT su.id, su.nameCn, count(b.id), avg(s.rate), count(concat(b.id, '@', s.user.id)) "
            + "FROM S su, B b, S s where b.st.id = su.id and s.bd.id = b.id and su.mt.id = ?1 group by su.id")

当我添加concat(b.id, '@', s.user.id)时,它向我显示:

org.hibernate.hql.internal.ast.QuerySyntaxException:期待接近,找到'(‘在第1行,在org.hibernate.hql.internal.ast.QuerySyntaxException.convert(QuerySyntaxException.java:74) ~hibernate-core-5.1.0.Final.jar:5.1.0.在org.hibernate.hql.internal.ast.ErrorCounter.throwQueryException(ErrorCounter.java:91) ~hibernate-core-5.1.0.Final.jar:5.1.0.在org.hibernate.hql.internal.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:288) ~hibernate-core-5.1.0.Final.jar:5.1.0.Final在org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:187) ~hibernate-core-5.1.0.Final.jar:5.1.0.Final.jar:5.1.0.Final.jar在org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:142) ~hibernate-核心-5.1.0.Final.jar:5.1.0在org.hibernate.engine.query.spi.HQLQueryPlanorg.hibernate.engine.query.spi.HQLQueryPlan.(HQLQueryPlan.java:76) ~hibernate结束-5.1.0.Final.jar:5.1.0.final.jar:5.1.0.Final.jar:5.1.0.Final.jar:5.1.0.final.jar:5.在org.hibernate.internal.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:302) ~hibernate-core-5.1.0.final.jar:5.1.0.final.jar:5.1.0。在org.hibernate.jpa.spi.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:291) ~hibernate-entitymanager-5.1.0.Final.jar:5.1.0.Final期末考试

EN

回答 2

Stack Overflow用户

发布于 2016-04-07 13:00:37

期待接近,找到了(

这里的“结束”一词指的是结束括号)

查询解析器似乎不支持调用count(...)中的另一个函数。

换句话说,语法错误出现在这里:

代码语言:javascript
复制
SELECT su.id, su.nameCn, count(b.id), avg(s.rate), count(concat(b.id, '@', s.user.id))
                                                               ^

也许你是想做某种连接,然后在那里数行呢?

票数 19
EN

Stack Overflow用户

发布于 2016-04-07 14:06:39

问题是同时使用计数函数和级联函数。

如果您像下面这样在没有count()的情况下编写查询,那么应该可以工作。这只是为了测试究竟是谁造成了问题。

尝试使用不同的方式编写查询,分别使用计数和连接。

代码语言:javascript
复制
...concat(b.id, '@', s.user.id)....
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36475872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档