关闭

hibernate总结多表查询

260人阅读 评论(0) 收藏 举报

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;

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:286191次
    • 积分:8490
    • 等级:
    • 排名:第2296名
    • 原创:1096篇
    • 转载:14篇
    • 译文:0篇
    • 评论:4条
    最新评论