HQL内连接查询返回的数组集合分析

开始一直没有搞懂,

Query query = session.createQuery("from Customer c inner join c.orders");
List<Object[]> list = query.list();

这个集合里面的数组到底是怎么组成的。

于是

              for(Object[] object : list){

for(int i=0;i<object.length;i++){
if(object[i] instanceof Customer){
Customer customer = (Customer)object[i];
count++;
System.out.println(customer);
System.out.println(count);
}
if(object[i] instanceof Order){
Order order = (Order)object[i];
count++;
System.out.println(order);
System.out.println(count);
}
}
}

输出:

Customer [cid=2, cname=张珂]
1
Order [oid=11, addr=成都9号, customer=Customer [cid=2, cname=张珂]]
2
Customer [cid=2, cname=张珂]
3
Order [oid=12, addr=成都4号, customer=Customer [cid=2, cname=张珂]]
4
Customer [cid=2, cname=张珂]
5
Order [oid=13, addr=成都2号, customer=Customer [cid=2, cname=张珂]]
6
Customer [cid=2, cname=张珂]
7
Order [oid=14, addr=成都0号, customer=Customer [cid=2, cname=张珂]]
8
Customer [cid=2, cname=张珂]
9
Order [oid=15, addr=成都1号, customer=Customer [cid=2, cname=张珂]]
10
Customer [cid=2, cname=张珂]
11
Order [oid=16, addr=成都6号, customer=Customer [cid=2, cname=张珂]]
12
Customer [cid=2, cname=张珂]
13

.......

由输出的结果可知,返回的集合数组中,Object[]中,是装的两个不同类的对象,一个是Customer对象,一个是与Customer对应的Order类对象。 Object[]是这两个类的父类,可以装下两个不同类的对象?(我是这样理解的)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值