严重: Servlet.service() for servlet jsp threw exception,大神求解啊
Hibernate:selectdoccate0_.idasid3_,doccate0_.nameasname3_,doccate0_.parentasparent3_f...
Hibernate: select doccate0_.id as id3_, doccate0_.name as name3_, doccate0_.parent as parent3_ from doc_cate doccate0_ where doccate0_.parent is null order by doccate0_.id asc
2011-5-11 15:46:41 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet jsp threw exception
java.lang.NoSuchMethodError: org.hibernate.hql.antlr.HqlBaseParser.recover(Lantlr/RecognitionException;Lantlr/collections/impl/BitSet;)V
at org.hibernate.hql.antlr.HqlBaseParser.primaryExpression(HqlBaseParser.java:1053)
at org.hibernate.hql.antlr.HqlBaseParser.atom(HqlBaseParser.java:3438)
at org.hibernate.hql.antlr.HqlBaseParser.unaryExpression(HqlBaseParser.java:3216)
at org.hibernate.hql.antlr.HqlBaseParser.multiplyExpression(HqlBaseParser.java:3098)
at org.hibernate.hql.antlr.HqlBaseParser.additiveExpression(HqlBaseParser.java:2818)
at org.hibernate.hql.antlr.HqlBaseParser.concatenation(HqlBaseParser.java:570)
at org.hibernate.hql.antlr.HqlBaseParser.relationalExpression(HqlBaseParser.java:2586)
at org.hibernate.hql.antlr.HqlBaseParser.equalityExpression(HqlBaseParser.java:2542)
at org.hibernate.hql.antlr.HqlBaseParser.negatedExpression(HqlBaseParser.java:2413)
at org.hibernate.hql.antlr.HqlBaseParser.logicalAndExpression(HqlBaseParser.java:2331)
at org.hibernate.hql.antlr.HqlBaseParser.logicalOrExpression(HqlBaseParser.java:2296)
at org.hibernate.hql.antlr.HqlBaseParser.expression(HqlBaseParser.java:2082)
at org.hibernate.hql.antlr.HqlBaseParser.logicalExpression(HqlBaseParser.java:1858)
at org.hibernate.hql.antlr.HqlBaseParser.whereClause(HqlBaseParser.java:454)
at org.hibernate.hql.antlr.HqlBaseParser.queryRule(HqlBaseParser.java:708)
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.<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:1650)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
HQL应该没有写错,更新了antlr.jar之后问题解决了,不过又出现如下异常:
org.hibernate.hql.ast.QuerySyntaxException: expecting IDENT, found '2' near line 1, column 50 [from com.online.doc.domain.DocInfo where STATUS=:2] 展开
2011-5-11 15:46:41 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet jsp threw exception
java.lang.NoSuchMethodError: org.hibernate.hql.antlr.HqlBaseParser.recover(Lantlr/RecognitionException;Lantlr/collections/impl/BitSet;)V
at org.hibernate.hql.antlr.HqlBaseParser.primaryExpression(HqlBaseParser.java:1053)
at org.hibernate.hql.antlr.HqlBaseParser.atom(HqlBaseParser.java:3438)
at org.hibernate.hql.antlr.HqlBaseParser.unaryExpression(HqlBaseParser.java:3216)
at org.hibernate.hql.antlr.HqlBaseParser.multiplyExpression(HqlBaseParser.java:3098)
at org.hibernate.hql.antlr.HqlBaseParser.additiveExpression(HqlBaseParser.java:2818)
at org.hibernate.hql.antlr.HqlBaseParser.concatenation(HqlBaseParser.java:570)
at org.hibernate.hql.antlr.HqlBaseParser.relationalExpression(HqlBaseParser.java:2586)
at org.hibernate.hql.antlr.HqlBaseParser.equalityExpression(HqlBaseParser.java:2542)
at org.hibernate.hql.antlr.HqlBaseParser.negatedExpression(HqlBaseParser.java:2413)
at org.hibernate.hql.antlr.HqlBaseParser.logicalAndExpression(HqlBaseParser.java:2331)
at org.hibernate.hql.antlr.HqlBaseParser.logicalOrExpression(HqlBaseParser.java:2296)
at org.hibernate.hql.antlr.HqlBaseParser.expression(HqlBaseParser.java:2082)
at org.hibernate.hql.antlr.HqlBaseParser.logicalExpression(HqlBaseParser.java:1858)
at org.hibernate.hql.antlr.HqlBaseParser.whereClause(HqlBaseParser.java:454)
at org.hibernate.hql.antlr.HqlBaseParser.queryRule(HqlBaseParser.java:708)
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.<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:1650)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
HQL应该没有写错,更新了antlr.jar之后问题解决了,不过又出现如下异常:
org.hibernate.hql.ast.QuerySyntaxException: expecting IDENT, found '2' near line 1, column 50 [from com.online.doc.domain.DocInfo where STATUS=:2] 展开
6个回答
展开全部
HQL拼写有问题
org.hibernate.hql.ast.QuerySyntaxException: expecting IDENT, found '2' near line 1, column 50 [from com.online.doc.domain.DocInfo where STATUS=:2]
HQL映射出现了错误
STATUS=:2
这里的问题,2你再检查一下,如果是数据,不用带冒号(:),如果是变量,设置一个新的名称,例如STATUS=:status
然后在Query里面进行设置
具体类型不知,估计这两个足够了,建设Query q = ......
q.setString("status","2");
q.setInt("status",2);
看看你的类型是什么吧
org.hibernate.hql.ast.QuerySyntaxException: expecting IDENT, found '2' near line 1, column 50 [from com.online.doc.domain.DocInfo where STATUS=:2]
HQL映射出现了错误
STATUS=:2
这里的问题,2你再检查一下,如果是数据,不用带冒号(:),如果是变量,设置一个新的名称,例如STATUS=:status
然后在Query里面进行设置
具体类型不知,估计这两个足够了,建设Query q = ......
q.setString("status","2");
q.setInt("status",2);
看看你的类型是什么吧
展开全部
你的数据库是不是mysql?
类似这样的问题我以前也遇到过,原因是因为每个数据库里的column命名问题
每个表的字段名不可以是关健字,否则就会出现 什么。。near line.....之类的问题。
解决办法:更改数据库中的表字段,将表中以关健字命名的字段更改掉,就可以了。
类似的关健字:name、status、之类的,具体有什么自己google或百度一下吧。毕竟数据库和数据库的关健字有些是不一样的。
希望能帮助你解决问题。
类似这样的问题我以前也遇到过,原因是因为每个数据库里的column命名问题
每个表的字段名不可以是关健字,否则就会出现 什么。。near line.....之类的问题。
解决办法:更改数据库中的表字段,将表中以关健字命名的字段更改掉,就可以了。
类似的关健字:name、status、之类的,具体有什么自己google或百度一下吧。毕竟数据库和数据库的关健字有些是不一样的。
希望能帮助你解决问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
[from com.online.doc.domain.DocInfo where STATUS=:2]
你把这个改成下面的
[from com.online.doc.domain.DocInfo where STATUS=2]
你把这个改成下面的
[from com.online.doc.domain.DocInfo where STATUS=2]
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
HQL语句写错了 把报错的地方代码和HQL语句写出来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
HQL格式错了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没找到方法啊 action 对应的方法名写错没有
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询