Hibernate多表查询

又抓狂了N长时间才搞定,由于习惯了SQL语句超级简单的连接查询,导致了开始理解Hibernate多表查询的时候有点小麻烦,现在终于又深刻地理解了Hibernate中纪录即对象这个概念~~~

 

简单举例说明,有两个表:Table1(a,b)和Table2(b,c),那么如果要查询(a,b,c)这样的集合,方法有两种:第一种大概就是说联合查询返回的纪录是个object[],可以通过object[0],object[1]这种方式得到所要的值,这种方法我不太喜欢,也没有为什么,就是看着不太舒服,介绍一下第二种:

 

通常的SQL语句应该是:Select  a, t1.b, c  From Table1 t1, Table2 t2  Where t1.b = t2.b

 

但这样的方法直接是不能用到Hibernate中的,因为没有一个类同时有 a,b,c 三个属性,所以可以创建一个这样的类 NewClass,属性为table1和c,table1是Table1映射类的对象,对应的hql语句是

 

"Select new NewClass(t1, t2.c) " + "From Table1 t1, Table2 t2 " + "t1.b = t2.b"

 

这样就Ok了~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值