码迷,mamicode.com
首页 > 系统相关 > 详细

Hibernate-多表关联查询结果的处理方法

时间:2014-07-24 23:43:24      阅读:521      评论:0      收藏:0      [点我收藏+]

标签:hibernate   夺标关联查询   结果的处理   

Hibernate多表查询结果处理

 (2014-07-06 20:45:40)

bubuko.com,布布扣转载

标签: 

hibernate

 

多表查询

 

结果集处理

分类: Java

如果我们在Hibernate中需要查询多个表的不同字段,那么如何来获取Hibernate多表查询的结果呢?有两种方式:

1、 对各个字段分别转化成对应类型,如下:

Java代码:


  1. Query q = session.createQuery(" select members, classInfo.className " +       

  2.     " from Members members, ClassInfo classInfo " +       

  3.     " where members.level = classInfo.classCode ");          

  4. List result = q.list();       

  5. Iterator it = result.iterator();       

  6. while (it.hasNext()) {       

  7.    Object[] tuple = (Object[]) it.next();       

  8.    Members members = (Members) tuple[ 0 ];       

  9.    String className = (String) tuple[ 1 ];       

  10. }     

  11. Query q = session.createQuery

  12. (" select members, classInfo.className " + 

  13. " from Members members, ClassInfo classInfo " + 

  14. " where members.level = classInfo.classCode ");

  15.  List result = q.list(); Iterator it = result.iterator();

  16.  while (it.hasNext()) { Object[] tuple = (Object[]) it.next(); 

  17. Members members = (Members) tuple[ 0 ]; 

  18. String className = (String) tuple[ 1 ]; } 

这是获取Hibernate多表查询的结果的最常用的方式。

2、构造自己的复合类型,如下:

Java代码:


  1. Query q = session.createQuery

  2. (" select new NewMembers(members, classInfo.className) " +       

  3.     " from Members members, ClassInfo classInfo " +       

  4.     " where members.level = classInfo.classCode ");     

  5. Query q = session.createQuery

  6. (" select new NewMembers(members, classInfo.className)

  7.  " + " from M


本文出自 “Mr_Computer” 博客,请务必保留此出处http://caochun.blog.51cto.com/4497308/1529865

Hibernate-多表关联查询结果的处理方法,布布扣,bubuko.com

Hibernate-多表关联查询结果的处理方法

标签:hibernate   夺标关联查询   结果的处理   

原文地址:http://caochun.blog.51cto.com/4497308/1529865

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!