HQL查询语句报错 unexpected token

struggle1984 2009-08-31 08:54:46
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]
...全文
11482 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
米家大虾axy 2011-05-09
  • 打赏
  • 举报
回复
头痛的问题
kai27ks 2011-01-19
  • 打赏
  • 举报
回复
首先你的查询的必须是配置了的类名。inner join是可以用,但是不推荐。如果实在没解决,建议用另一种思维去试试。不一定要用这种方法。比如先查出来再用到下一个语句里。
linzhsh 2009-09-01
  • 打赏
  • 举报
回复
在hibernate中的HQL语句不能直接用inner join 吧
你最好换成SQL语句查询
gjsong 2009-09-01
  • 打赏
  • 举报
回复
楼主Ren 类里面的type字段是用的一个Type引用还是一个id?

如果你用的一个Type类的话 你的条件了里面是不是该些成t.type.id=s.id呢
feishare 2009-09-01
  • 打赏
  • 举报
回复
楼主多试试就知道了
xiaozhangnima 2009-09-01
  • 打赏
  • 举报
回复
<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>
inthirties 2009-09-01
  • 打赏
  • 举报
回复
把后面的别人拿掉试试。

报的是QuerySyntaxException错误,应该是语句的语法有问题。
阿奇XS 2009-09-01
  • 打赏
  • 举报
回复
Linux+Oracle+Java 技术群:87923477 欢迎热爱技术的朋友们的参与
struggle1984 2009-09-01
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lcj_up 的回复:]
hibernate表格之间的联系应该写在配置文件里面。。。。

[/Quote]

咋写~?
lcj_up 2009-08-31
  • 打赏
  • 举报
回复
hibernate表格之间的联系应该写在配置文件里面。。。。
struggle1984 2009-08-31
  • 打赏
  • 举报
回复
<!-- 配置 one to many -->
<set name="terminals" table="TERMINALS" >
<key column="TRACKERID"/>
<many-to-many column="ID" class="com.gprs.ssh.obj.terminals"
unique="true"/>
</set>

我加了这个配置还是没好使~!~
whlusha720 2009-08-31
  • 打赏
  • 举报
回复
HQL语句中 表名,字段需要和POJO类一致
struggle1984 2009-08-31
  • 打赏
  • 举报
回复
org.hibernate.hql.ast.QuerySyntaxException: unexpected token: on near line 2, column 20 [select s.id from com.gprs.ssh.obj.Poputrackerstatus as s,com.gprs.ssh.obj.Poputerminals as t
inner join fetch t on s.trackerid = t.id

这个是我的错误 ~ 这个是不是需要在映射对象的配置文件配置一个关联那?
sainer 2009-08-31
  • 打赏
  • 举报
回复
看异常,应该是查询语句写错了

67,518

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧