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;