日期:2014-05-20  浏览次数:20612 次

hibernate hql查询语句
实体类一:
public class User{
  private Interger id;
  private String name;
  private Group group;

 /* get and set method */
}

实体类二:
public class Group{
  private Integer id;
  private String name;
 /* get and set method */
}

User和Group是一对一的关联关系,我查询User的时候自动把Group查询出来。以下是我的hql语句
String hql = "from Admin as admin left outer join admin.group as group";
List<Admin> admins = session.createQuery(hql).ist();
System.out.println(admins);
最后我打印list, 打印出来list里的对象全部都是object对象。 有没有什么办法, 让查询结果集自动封装称Admin类型的?

------解决方案--------------------
探讨

String hql = "select new packagename.Admin(arg1,arg2,...) as admin left outer join admin.group as group";

------解决方案--------------------
你的admins 是接口List 的实例,是一个线性表。你遍历线性表就可以了。
------解决方案--------------------
看看的你hbm文件,那里面一定要配置上一对一的关系才能查询出来的!hbm文件不配置你的hql不管用的!
------解决方案--------------------
"from Admin as admin left outer join admin.group as group" 查出的结果不可能自动封装成一个Liat<Admin> 因为你查出的列不是只有Admin 还有 group 所以你 查的话可以用这个
select admin from Admin as admin left outer join admin.group as group 看看。
------解决方案--------------------
向大伙学习了