首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

hibernate的多表查询后的结果该如何样取出来呢

2013-08-01 
hibernate的多表查询后的结果该怎么样取出来呢?public List findAll(){Session session getHibernateTem

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就行了。

热点排行