HQL查询语句的解析问题

xinxinlong 2014-02-20 02:30:02
HQL语句:
from Cat cat where cat.mate.name like "Kit%"
该查询将被翻译成一个含有内连接的SQL查询,翻译后的SQL语句如下:
select * from cat_table as table1 cat_table as table2
where table1.mate = table2.id
and table1.name like "Kit%"

在研读这个内容的时候,总觉得转化为SQL语句有错误,最后一个条件不应该是table2.name like "Kit%"吗?
大家是怎么认为的呢?能不能给个解释,谢谢大家。
...全文
253 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
sxl-shuai 2014-02-22
  • 打赏
  • 举报
回复
引用 7 楼 qiyuexuel 的回复:
感觉不是hibernate生成的sql( ⊙ o ⊙ )啊!
+1
齐岳 2014-02-21
  • 打赏
  • 举报
回复
感觉不是hibernate生成的sql( ⊙ o ⊙ )啊!
sunbo624 2014-02-21
  • 打赏
  • 举报
回复
很明显 HQL生成SQL应该会有inner join 或者 xx outer join 不可能有你这种情况
ay转身遇 2014-02-21
  • 打赏
  • 举报
回复
引用 4 楼 xinxinlong 的回复:
[quote=引用 3 楼 zhangxiaojie0321 的回复:] 楼主的hibernate配置是怎么样的呢?
这个吗,只能靠自己YY的,看了一本书,书上就这么写的,没有相关的配置信息,只能自己YY了。[/quote] 问下楼主mate是什么
xinxinlong 2014-02-21
  • 打赏
  • 举报
回复
引用 3 楼 zhangxiaojie0321 的回复:
楼主的hibernate配置是怎么样的呢?
这个吗,只能靠自己YY的,看了一本书,书上就这么写的,没有相关的配置信息,只能自己YY了。
ay转身遇 2014-02-20
  • 打赏
  • 举报
回复
楼主的hibernate配置是怎么样的呢?
xinxinlong 2014-02-20
  • 打赏
  • 举报
回复
引用 1 楼 dongzeviva 的回复:
cat_table as table1 cat_table as table2 table1和table2有区别吗?
两张表是同一个表,表的自连接 不过SQL语句
select * from cat_table as table1 cat_table as table2
where table1.mate = table2.id
and table1.name like "Kit%"
跟SQL语句
select * from cat_table as table1 cat_table as table2
where table1.mate = table2.id
and table2.name like "Kit%"
查询的结果是完全不一样的呀(两个查询中最后一个条件的表一个是table1一个是table2)
  • 打赏
  • 举报
回复
cat_table as table1 cat_table as table2 table1和table2有区别吗?

81,092

社区成员

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

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