我在执行
List list=this.getSessionFactory().openSession().createQuery(SQL).list()
其中这个类继承了org.springframework.orm.hibernate3.support.HibernateDaoSupport
SQL为Select * from users where use_id = 123 and use_password = 123
时报错如下
严重: Servlet.service() for servlet action threw exception
java.lang.NoSuchMethodError: org.hibernate.hql.antlr.HqlBaseParser.recover(Lantlr/RecognitionException;Lantlr/collections/impl/BitSet;)V
我在网络上找了些资料
有的说是SQL语句错误,可是我在数据库上执行的时候能顺利的找到数据
也有的说缺少antlr这个包
我也myeclipse底下的antlr-2.7.6.jar包添加到LIB里
可还是报错,我没办法了,请帮忙看看,谢谢
------解决方案--------------------
注意方法使用错误。
createQuery必须是针对HQL查询,
hql的话要看你这个Users表映射的是那个实体,
对应的使用SELECT a FROM org.test.Users a WHERE a.userId='123' AND a.usePassword='123'
如果你想要使用sql那方法必须是createSQLQuery