如果是多表查询,
例如select a.*,b.* from a,b where a.id=b.id,那hibernate的list方法返回什么啊,list里放的是什么?

解决方案 »

  1.   

    一张表
    包括a的所有字段,b的所有字段
    连接条件是a。id=b。id
    当然也许有N行
    其实你可以打印一下list
    很清楚的
      

  2.   

    如果多表查询的话,hibernate返回什么啊?
    返回的是List!
    一张表 
    包括a的所有字段,b的所有字段 
    连接条件是a.id=b.id 
      

  3.   


    up!
    List中存的是对象。
    比如一个是对象A,另一个B(如果有的话)要得到的话可能是B b=A.getB();
      

  4.   


    这个查询返回的list如果有值,每一个list元素取出来的都是一个Object[],
    里面的元素的顺序就是你查询时候指定的列的顺序对应的,查询语句得到n个列,Object[]长度就为n好比说:select a.a1, a.a2, b.b1, b.b2 where a.id = b.id 
    Object[] 长度就为4 ,依次为 a.a1, a.a2, b.b1, b.b2 ,
    想得到相应列的值,可以进行强制类型转换
      

  5.   

    没试过,不过个人感觉,如果是完整的对象,应该还是返回几个相应的对象
    如果不是,那就返回Object[]
      

  6.   

    Object[] objs = (Object[])list.get(0);
      

  7.   

    list,里面放的是包括a的所有字段,b的所有字段 
    组成的对象数组
      

  8.   

    2楼正解。
    对象数组。
    hibernate把每张表封装成一个对象。
    然后抛给对象数组。
    最后再放到list容器里。
      

  9.   

    list 里面返回的是对象模型塞,,,就是你定义的实体类啊