SSH中执行HQL语句的org.hibernate.hql.internal.ast.QuerySyntaxException问题
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不久!!!!!!!!! 谢谢!!!!!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这个没有影响的吧 我这是复制的代码 在其他模块中用的这条HQL语句都可以 只是查询的对应对象变了 而且就算是引号问题 可是报错里 为什么列名是其他的 而且别名也是不一样的 我之前改过别名 无论怎么改那数据库的执行语句好像都是已经固定好了 就是参数的问题
好好检查检查sql,靠复制粘贴是不行的
很明显
" and w.meetingDate="+meetingDate);这里的sql没加单引号啊