hql左联查询报错

day_moon 2016-02-23 08:58:22
代码如下:
Query query = session
.createQuery("from TbBooktypeson left join TbBook on TbBooktypeson.bookId=TbBook.bookId where TbBooktypeson.bookId="+id);

mysql语句可以运行(语句如下):
select tb_book.author,tb_book.title,tb_booktypeson.type_name from tb_booktypeson
left join tb_book on tb_booktypeson.book_id=tb_book.book_id
where tb_booktypeson.id=6;

运行结果报错:
org.hibernate.hql.internal.ast.ErrorCounter reportError
ERROR: line 1:58: unexpected token: on
...全文
152 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
开发者_android 2016-02-26
  • 打赏
  • 举报
回复
hql中是用with,不是on。
day_moon 2016-02-23
  • 打赏
  • 举报
回复
3楼运行结果:Path expected for join!一定要用配置关联吗?用外键关联,麻烦多。
风马博客 2016-02-23
  • 打赏
  • 举报
回复
Query query = session
.createQuery("from TbBooktypeson left join TbBook  where TbBooktypeson.bookId=TbBook.bookId and TbBooktypeson.bookId="+id);
试一下
day_moon 2016-02-23
  • 打赏
  • 举报
回复
hql的左联查询语句是没有on的用法
fondOfJava 2016-02-23
  • 打赏
  • 举报
回复
怎么感觉你的hsq写的像SQL呢?可以运行的mysql sql应该不是hibernate帮你生成的吧。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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