论坛首页 综合技术论坛

hql unexpected token 错误解决【原创】

浏览 2684 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-12-12  

String hql = "from TIssue where id in ('167','169','170','171','172','173') and object = ',B01,'";
这句在程序里面跑~
抛错:
ERROR org.hibernate.hql.PARSER - line 1:26: unexpected token: object
之前是:
String hql = "from TIssue where id in ('167','169','170','171','172','173')";
没错~

我检查了TIssue这个类,确实有:
private String object;
这个bean的setter和getter
也检查了
TIssue.hbm.xml
发现里面是:
         <property name="object" type="java.lang.String">
             <column name="OBJECT" length="1000">
                 <comment>布发对象,头尾和对象间均加半角逗号</comment>
             </column>
         </property>

最后的解决办法是用别名来:

String hql = "from TIssue sue where sue.id in ('167','169','170','171','172','173') and sue.object = ',B01,'";

 

就行了~可能是hibernate把字段object当成了关键字,或是hql要别名才不会报奇怪的错?总之是这样解决了~

 

论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics