开发者社区> 问答> 正文

SSH中执行HQL语句的org.hibernate.hql.internal.a?报错

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不久!!!!!!!!!     谢谢!!!!!

展开
收起
爱吃鱼的程序员 2020-06-14 15:18:52 541 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    很明显<spanstyle="background-color:#003399;"> <spanstyle="font-family:'MicrosoftYaHei',Verdana,sans-serif,宋体;font-size:14px;line-height:22px;color:#FFFFFF;background-color:#003399;">"andw.meetingDate="+meetingDate);这里的sql没加单引号啊好好检查检查sql,靠复制粘贴是不行的这个没有影响的吧我这是复制的代码在其他模块中用的这条HQL语句都可以只是查询的对应对象变了而且就算是引号问题可是报错里为什么列名是其他的而且别名也是不一样的我之前改过别名无论怎么改那数据库的执行语句好像都是已经固定好了就是参数的问题

    2020-06-14 15:19:08
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Major advancements in Apache Hive towards full support of SQL compliance 立即下载
Spark SQL: Past, Present and Future 立即下载
Spark SQL:Past Present &Future 立即下载