在Action中,有如下查询:user表中有userid,username
pic表中有userid,picurl目的:想提取出pic表中的所有数据和user表中的usernameString hql = "from User u,Pic p where u.userid=p.userid and p.userid= ?";
Query query = session.createQuery(hql).setInteger(0, userid);
List list = query.list();返回的list中包含user和pic两个对象,如何能分别输出user.username和pic.url?(不是在前台页面中提取,而是在action中提取出具体的数据后进行再处理)

解决方案 »

  1.   

    List list = query.list();
    for(Object[] o : list) {
      User u = (User)o[0];
      Pic p = (Pic)o[1];
      System.out.println(u.getUserName + "  " + p.getUrl);
    }
      

  2.   

    非常感谢两位的回答,结贴,另附答案:for(int i=0;i<list.size();i++){
    Object[] ob = (Object[])list.get(i);
    User u = (User)ob[0];
            Pic p = (Pic)ob[1];         
    System.out.println(u.getUserName + "  " + p.getUrl);      
    }另附自己以前答案一份,仅供挨砖:
     for(int i=0;i<list.size();i++){
    Object[] ob = (Object[])list.get(i);
    for(int j=0;j<ob.length;j++){
                if(ob[j].getClass() == Pic.class)
         pic= (Pic)ob[j];
        else
                 user = (User)ob[j];
           }
         }