Hibernate一个查询方法要返回一个对象类型根据代码总结下:
返回查询对象结果
1定义泛型数组
2hibernate Query查询
3把query查询的对象用List接收(转换成List形式)
4用Iterator遍历list 并定义一个Object数组接收(也可以是泛型)Object主要是作为中间变量过渡使用
5把遍历后的结果按字段存入对象的set方法中
6如果有必要在把对象放入集合中
public Org_Info getByorg_code_category(String recommend_flag, String show_category) {
String sql="select o.org_code,o.org_logo,o.org_introduction,o.org_address,o.org_phonenumber,o.recommend_flag,o.show_category from Llt_Org_Info o ,llt_area a where 1=1 and o.area_code=a.id";
sql=sql+" and (o.recommend_flag='"+recommend_flag+"')";
sql=sql+" and (o.show_category='"+show_category+"')";
Query query=getSession().createSQLQuery(sql);
//用Query查询hibernate中query查询后最终返回给List集合
List<Org_Info> datas=query.list();
//List集合比较"散乱"需要提取处理用Iterator做List集合内部的遍历
Iterator iterator=datas.iterator();
Object []result;
Org_Info oi=new Org_Info();
while(iterator.hasNext())
{
//用Object数组接受遍历的每一行数据
result=(Object[])iterator.next();
//在用基础for循环把每个字段提取出
for(int i=0;i<result.length;i++)
{
oi.setOrg_code(result[i].toString());
oi.setOrg_logo(result[i+1].toString());
oi.setOrg_introduction(result[i+2].toString());
oi.setOrg_address(result[i+3].toString());
oi.setOrg_phonenumber(result[i+4].toString());
oi.setRecommend_flag(result[i+5].toString());
oi.setShow_category(result[i+6].toString());
i = i + result.length - 1;
}
}
return oi;
}