SSH中执行HQL语句的org.hibernate.hql.internal.ast.QuerySyntaxException问题

Mr_Da 发布于 2015/06/19 19:13
阅读 12K+
收藏 0

SSH框架中,执行的HQL语句如下:

  List<Week> list =  weekService.query("from 表名 w where w.username='"+username+"' and w.hostname="+hostname+" and w.meetingDate="+meetingDate);

控制台报错如下:

line 1:85: unexpected token: Jun
at org.hibernate.hql.internal.antlr.HqlBaseParser.identPrimary(HqlBaseParser.java:4100)
at org.hibernate.hql.internal.antlr.HqlBaseParser.primaryExpression(HqlBaseParser.java:860)
at org.hibernate.hql.internal.antlr.HqlBaseParser.atom(HqlBaseParser.java:3472)
 ...省略同类型错误信息

[ERROR] 2015-06-19 18:33:21 org.apache.struts2.dispatcher.Dispatcher - Exception occurred during processing request: unexpected token: Jun near line 1, column 85 [from regularmeeting w where w.username='lida' and w.name=lida and w.meetingDate=Fri Jun 19 18:33:21 CST 2015]
org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: Jun near line 1, column 85 [from regularmeeting w where w.username='lida' and w.name=lida and w.meetingDate=Fri Jun 19 18:33:21 CST 2015]
at org.hibernate.hql.internal.ast.QuerySyntaxException.convert(QuerySyntaxException.java:54)
at org.hibernate.hql.internal.ast.QuerySyntaxException.convert(QuerySyntaxException.java:47)
at org.hibernate.hql.internal.ast.ErrorCounter.throwQueryException(ErrorCounter.java:79)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:276)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:180)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:136)
 ...省略同类型错误信息

主要错误信息:

 Exception occurred during processing request: unexpected token: Jun near line 1, column 85 [from regularmeeting w where w.username='lida' and w.name=lida and w.meetingDate=Fri Jun 19 18:33:21 CST 2015]

 这里的HQL语句系统报出来的跟我写的不一样  w.name是系统的  我的是w.hostname 而且关键是我不管怎么改HQL语句 都会出现这错误提示 不知道是哪出现问题了.

  再看调用的接口及实现类所执行方法里也没看见写SQL语句的地方,hibernate对应的类映射文件,我这好像也没有,弱弱的问句,还有其他方法可以配置hibernate与实体类或者说表的映射关系么.


   弄了一天都没解决,,急啊 求大神帮帮忙 ,  才学习SSH不久!!!!!!!!!     谢谢!!!!!

加载中
0
pantrick
pantrick
很明显  " and w.meetingDate="+meetingDate);这里的sql没加单引号啊
pantrick
pantrick
好好检查检查sql,靠复制粘贴是不行的
M
Mr_Da
这个没有影响的吧 我这是复制的代码 在其他模块中用的这条HQL语句都可以 只是查询的对应对象变了 而且就算是引号问题 可是报错里 为什么列名是其他的 而且别名也是不一样的 我之前改过别名 无论怎么改那数据库的执行语句好像都是已经固定好了 就是参数的问题
返回顶部
顶部