hibernate总结多表查询

1、返回多个对象的查询结果
执行的HQL语句

String str="from A as a,B as b where a.id=b.conid";
Query q = this.getSession().createQuery(str);
List list = q.list();
List resultList = new LinkedList();
for(int i=0;i<list.size();i++){
	Object[] obj = (Object[])list.get(i);
	A tmp_a = (A)obj[0];//0 对应A,与HQL语句对应
	B tmp_b = (B)obj[1];//1 对应B,与HQL语句对应
	//B作为A类的一个属性,这样可以存储关联的结果
	tmp_a.setObjectB(tmp_b);
	resultList.add(tmp_a);
}
return resultList;

2、返回一个对象的查询结果

String str="select a from A as a,B as b where a.id=b.conid";
Query q = this.getSession().createQuery(str);
List list = q.list();//返回的对象只有A
return list;

猜你喜欢

转载自hbiao68.iteye.com/blog/1833618
今日推荐