gpt4 book ai didi

java - 我需要帮助解决此错误 : java. lang.NoSuchMethodError

转载 作者:搜寻专家 更新时间:2023-11-01 01:15:22 26 4
gpt4 key购买 nike

我有这个 Java 代码 (JPA):

String queryString = "SELECT b  , sum(v.votedPoints) as votedPoint " +
" FROM Bookmarks b " +
" LEFT OUTER JOIN Votes v " +
" on (v.organizationId = b.organizationId) " +
"WHERE b.userId = 101 " +
"GROUP BY b.organizationId " +
"ORDER BY votedPoint ascending ";
EntityManager em = getEntityManager();
Query query = em.createQuery(queryString);
query.setFirstResult(start);
query.setMaxResults(numRecords);
List results = query.getResultList();

我不知道我的查询有什么问题,因为它给了我这个错误:

java.lang.NoSuchMethodError: org.hibernate.hql.antlr.HqlBaseParser.recover(Lantlr/RecognitionException;Lantlr/collections/impl/BitSet;)V        at org.hibernate.hql.antlr.HqlBaseParser.fromJoin(HqlBaseParser.java:1802)        at org.hibernate.hql.antlr.HqlBaseParser.fromClause(HqlBaseParser.java:1420)        at org.hibernate.hql.antlr.HqlBaseParser.selectFrom(HqlBaseParser.java:1130)        at org.hibernate.hql.antlr.HqlBaseParser.queryRule(HqlBaseParser.java:702)        at org.hibernate.hql.antlr.HqlBaseParser.selectStatement(HqlBaseParser.java:296)        at org.hibernate.hql.antlr.HqlBaseParser.statement(HqlBaseParser.java:159)        at org.hibernate.hql.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:271)        at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:180)        at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:134)        at org.hibernate.engine.query.HQLQueryPlan.(HQLQueryPlan.java:101)        at org.hibernate.engine.query.HQLQueryPlan.(HQLQueryPlan.java:80)        at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:94)        at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:156)        at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:135)        at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1650)

谢谢。

最佳答案

您使用的 hibernate 和 ANTLR jar 版本肯定有问题。在 2.7.6 版之前,ANTLR Parser 类中没有 recover 方法?如果您使用的是较早版本的 ANTLR,例如 2.7.2,那么您将看到此问题。

使用 maven 可能会导致这种情况,您依赖于 Hibernate 及其传递依赖性,但更“接近”;例如支柱;提供一个不同的、早期版本的 ANTLR,并且该早期版本在你的应用程序中得到解析。

如果你能提供所涉及的jar版本,我们可以提供更多帮助。一旦解决了 jar 版本的问题,您应该会收到一条更能说明问题的错误消息,其中显示了您的 HQL 表达式有什么问题。

关于java - 我需要帮助解决此错误 : java. lang.NoSuchMethodError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/308555/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com