日期:2014-05-17  浏览次数:20668 次

如何从hibernate返回的list中提取两个不同的对象?
在Action中,有如下查询:

user表中有userid,username
pic表中有userid,picurl

目的:想提取出pic表中的所有数据和user表中的username

String 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个类封装2个类的所有属性,然后再去取就可以了。
------解决方案--------------------
引用:
在Action中,有如下查询:

user表中有userid,username
pic表中有userid,picurl

目的:想提取出pic表中的所有数据和user表中的username

String 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中提取出具体的数据后进行再处理)



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);
}