Hibernate的Exception in thread "main" java.lang.NoSuchMethodError的异常

刚才写了一个hql语句,目的是从三个表中查询数据。先不考虑这三个表之间是否有关联。

hql语句如下:

 

  1. select w.*,u.unitsName,s.sectorName,st.statusName from WorkersInfo w,UnitsInfo u,SectorInfo s,StatusInfo st where w.unitsId = u.unitsCode and w.sectorId = s.sectorCode and w.statusInfo.statusId = st.statusId

异常信息如下:: org.hibernate.hql.antlr.HqlBaseParser.recover(Lantlr/RecognitionException;Lantlr/collections/impl/BitSet;)V

详细信息如下:

  1. at org.hibernate.hql.antlr.HqlBaseParser.atom(HqlBaseParser.java:3533)
  2.     at org.hibernate.hql.antlr.HqlBaseParser.unaryExpression(HqlBaseParser.java:3200)
  3.     at org.hibernate.hql.antlr.HqlBaseParser.multiplyExpression(HqlBaseParser.java:3082)
  4.     at org.hibernate.hql.antlr.HqlBaseParser.additiveExpression(HqlBaseParser.java:2802)
  5.     at org.hibernate.hql.antlr.HqlBaseParser.concatenation(HqlBaseParser.java:570)
  6.     at org.hibernate.hql.antlr.HqlBaseParser.relationalExpression(HqlBaseParser.java:2586)
  7.     at org.hibernate.hql.antlr.HqlBaseParser.equalityExpression(HqlBaseParser.java:2449)
  8.     at org.hibernate.hql.antlr.HqlBaseParser.negatedExpression(HqlBaseParser.java:2413)
  9.     at org.hibernate.hql.antlr.HqlBaseParser.logicalAndExpression(HqlBaseParser.java:2331)
  10.     at org.hibernate.hql.antlr.HqlBaseParser.logicalOrExpression(HqlBaseParser.java:2296)
  11.     at org.hibernate.hql.antlr.HqlBaseParser.expression(HqlBaseParser.java:2082)
  12.     at org.hibernate.hql.antlr.HqlBaseParser.aliasedExpression(HqlBaseParser.java:2249)
  13.     at org.hibernate.hql.antlr.HqlBaseParser.selectedPropertiesList(HqlBaseParser.java:1455)
  14.     at org.hibernate.hql.antlr.HqlBaseParser.selectClause(HqlBaseParser.java:1365)
  15.     at org.hibernate.hql.antlr.HqlBaseParser.selectFrom(HqlBaseParser.java:1106)
  16.     at org.hibernate.hql.antlr.HqlBaseParser.queryRule(HqlBaseParser.java:702)
  17.     at org.hibernate.hql.antlr.HqlBaseParser.selectStatement(HqlBaseParser.java:296)
  18.     at org.hibernate.hql.antlr.HqlBaseParser.statement(HqlBaseParser.java:159)
  19.     at org.hibernate.hql.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:238)
  20.     at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:155)
  21.     at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:109)
  22.     at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:75)
  23.     at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:54)
  24.     at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:71)
  25.     at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133)
  26.     at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112)
  27.     at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1583)
  28.     at org.qpyong.emp.dao.WorkersInfoDAO.findByPropertyForEmployee(WorkersInfoDAO.java:159)
  29.     at org.qpyong.emp.dao.WorkersInfoDAO.main(WorkersInfoDAO.java:271)

 

上网找了些资料,有的是hql语句有错误,有的说少了antlr.jar包,有的说hql语句有问题。但是我检查了很多遍,也看不出我的hql语句的问题在哪。所以我排除了hql语句错误的说法。但是如果是少了antlr.jar包,我用以下的hql查询的时候却没有问题:

  1. select count(*) from WorkersInfo w,UnitsInfo u,SectorInfo s,StatusInfo st where w.unitsId = u.unitsCode and w.sectorId = s.sectorCode and w.statusInfo.statusId = st.statusId

 

谁能告诉我是怎么回事呀?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值