读书人

hibernate的多表查询后的结果该如何样

发布时间: 2013-08-01 15:23:18 作者: rapoo

hibernate的多表查询后的结果该怎么样取出来呢?

public List findAll(){
Session session = getHibernateTemplate().getSessionFactory().getCurrentSession();
String hql="SELECT a.id,a.brach,b.brach FROM Brach a ,Brach b where a.fatherid = b.id";
Query q=session.createQuery(hql);
return q.list();
}


试了许多方法,没有用
[解决办法]
按数组下标来取:
List list = q.list();
for(Object o[] : list) {
System.out.println("第一个" + o[0]);
System.out.println("第二个" + o[1]);
System.out.println("第三个" + o[2]);
}
或者用别名,然后绑定到dto中,dto中的字段名和别名要一直。
[解决办法]
Query q=session.createSQLQuery(hql);
return q.addEntity(EntityClass.class).list();
EntityClass是个实体类,对应你要查询的字段,list的结果是个EntityClass对象集合,遍历强转为EntityClass就行了。

读书人网 >J2EE开发

热点推荐