如何处理Hibernate多表查询的结果方法实例讲解

如何处理Hibernate多表查询的结果实例讲解,Hibernate多表查询结果处理,在Hibernate中需要查询多个表的不同字段,如何获取Hibernate多表查询的结果呢?有两种方法: 方法一对各个字段分别转化成对应类型;方法二构造自己的复合类型。

方法1、 把各字段分别转化成对应类型,实例如下:

Java代码实例:

  1. Query 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 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 session.createQuery
  2. (“ select new NewMembers(members, classInfo.className)        
  3.     “ from Members members, ClassInfo classInfo        
  4.     “ where members.level classInfo.classCode );     
  5. Query session.createQuery
  6. (“ select new NewMembers(members, classInfo.className)
  7.   “ from Members members, ClassInfo classInfo  “ 
  8. where members.level classInfo.classCode );  

需要有一个NewMembers类以及相应的构造方式。以上便是获取Hibernate多表查询的结果的方法以和其相应的代码。

本文链接地址: 如何处理Hibernate多表查询的结果方法实例讲解