hibernate本地查询没错,服务器上运行出错是什么原因?
正在做一个Struts1.3加Hibernate的登录功能,用到以下的查询
String hql = "from User as user where user.name=:n and user.password=:p";
Query query = session.createQuery(hql);
query.setString("n", name);
query.setString("p", passwod);//name 和 password都已经正确传入
调式发现每次执行到 Query query = session.createQuery(hql);就会抛出以下异常:
java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I
org.hibernate.hql.ast.HqlSqlWalker.generateNamedParameter(HqlSqlWalker.java:895)
org.hibernate.hql.antlr.HqlSqlBaseWalker.parameter(HqlSqlBaseWalker.java:4764)
org.hibernate.hql.antlr.HqlSqlBaseWalker.expr(HqlSqlBaseWalker.java:1373)
................
我尝试把以上语句放在main函数里面执行(不通过页面传参),是可以正确查询的。
上网查说是包冲突的问题,但我已经是使用导入MyEclipse自带的包的了。
还是Struts和Hibernate里面某些JAR包有冲突吗?请教大家了