日期:2014-05-20  浏览次数:20951 次

HQL查询语句报错 unexpected token
hibernate中我查询两张表中的数据,我这样写查询语句,但就是抱错 select t.name,t.type,s.name from Ren t inner join Type s on t.type=s.id 错误如下: org.hibernate.hql.ast.QuerySyntaxException: unexpected token: on near line 1, column 64 [select t.name,t.type,s.name from liubi.Ren t inner join Type s on t.type=s.id]

------解决方案--------------------
看异常,应该是查询语句写错了
------解决方案--------------------
HQL语句中 表名,字段需要和POJO类一致
------解决方案--------------------
hibernate表格之间的联系应该写在配置文件里面。。。。

------解决方案--------------------
把后面的别人拿掉试试。

报的是QuerySyntaxException错误,应该是语句的语法有问题。
------解决方案--------------------
<set name="res_ids" table="assign_info_w" cascade="all" lazy="false">
<key>
<column name="ddc_proj_no"/>
</key>
<element type="java.lang.String" column="res_id"/>
</set>
<set name="resource_info_ws" inverse="true" table="assign_info_w" lazy="false" order-by="res_id">
<key>
<column name="ddc_proj_no"/>
</key>
<many-to-many class="com.rmt.entity.Resource_info_w" column="res_id"/>
</set>
------解决方案--------------------
楼主Ren 类里面的type字段是用的一个Type引用还是一个id?

如果你用的一个Type类的话 你的条件了里面是不是该些成t.type.id=s.id呢

------解决方案--------------------
在hibernate中的HQL语句不能直接用inner join 吧
你最好换成SQL语句查询