用户登录
用户注册

分享至

hibernate3 left join

  • 作者: 德艺双馨老艺术家
  • 来源: 51数据库
  • 2021-01-18
是hql不是sql,hql是hibernate的,是面向对象的。所以里面都是用的持久Bean的名称和属性

select ba from BeanA ba left join fetch ba.beanB bb left join fetch ba.beanC

beanB,beanC都是BeanA的一个属性,之间的关系不需要在hql表达,hibernate会自动根据映射文件去建立BeanA,BeanB,BeanC之间的关系。



  直接可以当hql用啊。
sqlquery quuery = this.gethibernatetemplete().createsqlquery(sql);

list list = query.list();

然后循环就可以了 ,这里的object[]要有一些类型转换哦

如果你非要用hibernate对象的话,需要建立一个对象,包含查询的4个数据的对象(如:messageinfo)。并包个一个4个参数的构造方法,hql如下
select new messageinfo( a.servno,a.servname,b.contents,c.deptname) from t_serviceitem a
left join vs_servexplan b on a.servno=b.servno and b.explantype=1
left join t_department c on a.servdept=c.deptcode where 1=1
这样的语句就可以了,不过三个表名要换成类名,不然就不对了
软件
前端设计
程序设计
Java相关