hibernat(HQL)之left join

  • Post author:
  • Post category:其他



刚刚开始使用hql,有点不熟悉,再加上之前使用sql的习惯,在使用hql的left join的时候陷入的牛角尖




假设存在两个实体A和B,A has a B


A的字段如下


aid


aname


bid




B的字段如下


bid


bname




现在需要使用left join查询数据,sql的写法如下


sql : select *  from A a left join B b on a.bid = b.bid




但hql是不存在on关键字的,如果直接使用改语句是会报left join异常




hql的写法如下:


hql: select * from A a left join B b




大家注意到,hql是不需要on 之后的条件的,因为当你在实体A里面设置好了oneToOne的对应关系,


hibernate会自动把外键关联,不需要自己写条件




如果大家想在放置查询条件,写法如下:


hql: select * from A a left join B b with b.name = ‘张三’



版权声明:本文为qq1021623362原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。