SessionFactory sessionFactory=new AnnotationConfiguration().configure().buildSessionFactory();
Session session=sessionFactory.getCurrentSession();
session.beginTransaction();
boolean flag=(Boolean)session.createQuery("from EmpDTO emp where emp.emp_name=? and emp.emp_pwd=?")
.setString(1, emp.getEmp_name()).setString(2, emp.getEmp_pwd()).uniqueResult();

session.getTransaction().commit();Exception in thread "main" java.lang.reflect.UndeclaredThrowableException
at $Proxy7.createQuery(Unknown Source)
at hibernate.dao.EmpDAO.verify(EmpDAO.java:21)
at hibernate.dao.EmpDAO.main(EmpDAO.java:34)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.hibernate.context.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:342)
... 3 more
Caused by: java.lang.NoSuchMethodError: org.hibernate.hql.antlr.HqlBaseParser.recover(Lantlr/RecognitionException;Lantlr/collections/impl/BitSet;)V
at org.hibernate.hql.antlr.HqlBaseParser.selectClause(HqlBaseParser.java:1391)
at org.hibernate.hql.antlr.HqlBaseParser.selectFrom(HqlBaseParser.java:1106)
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:274)
at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:182)
at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:136)
at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:101)
at org.hibernate.engine.query.HQLQueryPlan.<init>(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:1651)
... 8 more我原本是想用Struts2+Hibernate写个登陆验证的结果就报错了!单独运行上面的也报这些错Hibernate异常

解决方案 »

  1.   

    org.hibernate.hql.antlr.HqlBaseParser.recover(Lantlr/RecognitionException;Lantlr/collections/impl/BitSet;)V
    你检查一下你传递的参数是不是有问题,引起他找不到该方法!
      

  2.   

    antlr.xxx.jar这个包不对,可能是包冲突。删除版本号不同的antlr.jar包,建议保留高版本的。
      

  3.   

    恩  已经解决了  的确是antlr包的问题
      

  4.   

    这个问题我发上去后就找到了相关的文章解决了!所以再 问一个吧!数据库id自增长
    限制id最大100,刚开始从1-100都装满了
    后来删了21-89,只剩1-10,90-100.我想再装数据,但id自增长了101....不知道我说清楚了没?
    这个怎么解决!
      

  5.   

    我觉得对这种id增长逻辑来说是没办法的,它新增的id是基于最大id+1,这种逻辑不会自动调整空隙
      

  6.   

    我觉得对这种id增长逻辑来说是没办法的,它新增的id是基于最大id+1,这种逻辑不会自动调整空隙在网上找了些相关文章也没什么好方法。那中间的数据段应该怎么存储?不用的话等于浪费
      

  7.   

    我觉得对这种id增长逻辑来说是没办法的,它新增的id是基于最大id+1,这种逻辑不会自动调整空隙在网上找了些相关文章也没什么好方法。那中间的数据段应该怎么存储?不用的话等于浪费
    这有什么里浪费的?你把范围给打点吧。
    要么你就写程序处理一下吧,其实没有必要纠结在这里。