`
arantam
  • 浏览: 41574 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

Hibernate多表查询结果处理

阅读更多

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

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

 

  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. }

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

 

 

 

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

 

  1. Query q = session.createQuery
  2. (" select new NewMembers(members, classInfo.className) " +       
  3.     " from Members members, ClassInfo classInfo " +       
  4.     " where members.level = classInfo.classCode ");

当然我们需要有一个NewMembers类和相应的构造方式。

以上便是两种用于获取Hibernate多表查询的结果的方法以及其相应的代码。

 

分享到:
评论
3 楼 arantam 2009-10-30  
雁行 写道
哈哈,原来类名没有写全

2 楼 雁行 2009-10-29  
哈哈,原来类名没有写全
1 楼 雁行 2009-10-29  
方法2,NewMembers 为普通pojo类即可?为何我用此法,报类无法定位错误?

相关推荐

    hibernate多表联合查询

    ### Hibernate多表联合查询详解 #### 一、引言 在实际项目开发中,我们经常需要处理复杂的数据库查询,特别是涉及到多个表之间的关联查询。...希望本文能对你理解Hibernate的多表联合查询有所帮助。

    Hibernate连表查询 Hibernate连表查询

    ### 查询结果处理 对于连表查询的结果处理,通常有两种常见的方式: #### 1. 获取单个字段值 如果只需要查询结果中的一个或几个字段,可以像下面这样处理: ```java for (int i = 0; i (); i++) { Object[] o = ...

    Hibernate 多表连接分页查询示范项目

    **Hibernate 框架简介** Hibernate 是一个流行的 Java ORM(对象关系映射)框架,它允许开发者用面向对象的方式操作数据库,将...通过深入研究这个项目,开发者可以更好地理解如何在 Java 应用中高效地处理多表数据。

    hibernate多表查询详解

    例如,通过`Criteria API`或`HQL`(Hibernate Query Language)进行多表联接查询,可以将查询结果转化为Object数组。这种方法简单直观,但缺乏类型安全,因为数组中的每个元素都是Object,需要在代码中进行强制类型...

    hibernate 进行多表查询每个表中各取几个字段

    在Hibernate中,多表查询通常涉及到关联关系的映射,包括一对一(OneToOne)、一对多(OneToMany)、多对一(ManyToOne)和多对多(ManyToMany)。通过这些关联,我们可以实现JOIN操作来获取多个表的数据。 1. 关联...

    hibernate将本地SQL查询结果封装成对象

    同时通过`addEntity()`、`addScalar()`和`Transformers.aliasToBean()`等方法,我们可以方便地将查询结果封装成Java对象,从而简化数据处理的过程。这使得Hibernate在保持灵活性的同时,也具备了处理复杂业务场景的...

    Hibernate多表查询.txt

    Hibernate作为一款优秀的ORM框架,提供了多种方式来处理多表查询,简化了这一过程,使开发者能够以更面向对象的方式进行数据操作。 ### 多表查询的实现方式 #### 1. 使用HQL(Hibernate Query Language) HQL是一...

    hibernate代码优化基于配置的多表查询

    本文将深入探讨如何通过配置优化Hibernate的多表查询,以提高应用的性能。 1. **联合查询优化**: 在进行多表查询时,Hibernate默认可能会生成多个单表查询,这会导致大量的数据库往返,降低效率。通过配置`@Join...

    Hibernate各种查询:联表查询 分页查询 位置参数查询(?) 占位符查询(冒号查询) 统计查询

    在Hibernate中,可以使用`Criteria` API或者`HQL`(Hibernate Query Language)来实现多表联查。`Criteria` API提供了更加面向对象的查询方式,通过`createCriteria()`方法指定主表,然后使用`createAlias()`方法...

    Hibernate-基础联表模板

    "Hibernate-基础联表模板"是针对Hibernate中联表查询的一个实用工具,旨在帮助开发者快速地进行多表关联查询,而不必记住复杂的SQL语句。 1. **Hibernate简介** Hibernate是一种开源的ORM框架,它允许开发者将Java...

    Hibernate_query查询数据表中的一个字段.

    六、结果处理 无论哪种查询方式,最后都会返回一个结果列表,你可以遍历这个列表来获取并处理查询到的`username`字段的值。 总结,Hibernate提供多种方式查询数据表中的字段,包括HQL、Criteria API和...

    hibernateHQL关联查询

    在理解Hibernate HQL关联查询之前,我们需要先回顾一下数据库表连接的基本概念及其分类。数据库表连接主要分为以下几种: 1. **内连接(Inner Join)**:只返回两个表中满足连接条件的记录。如果某条记录在另一个表...

    Struts2+Hibernate实现一对多联表查询

    总的来说,这个项目展示了如何结合Struts2和Hibernate框架处理Web应用中的数据操作,特别是涉及一对多关联关系的查询。开发者需要理解MVC架构,掌握Hibernate的实体映射和关联关系,以及Struts2的Action、Service、...

    hibernate实现递归查询

    将查询结果缓存起来,避免重复计算。可以使用二阶缓存(如 Ehcache 或 Infinispan)来存储整个节点树,当数据更新时,再进行刷新。 5. **注意事项** 递归查询可能导致无限循环,所以在设计递归查询时必须设置好...

    hibernate里面的 两种查询

    - HQL则在处理复杂查询,特别是涉及到多个表关联时,表现更出色,能够更直观地表达业务逻辑。 在实际开发中,可以根据项目需求和团队成员的熟悉程度来选择合适的查询方式。有时,两者结合使用也能发挥更大的优势,...

    Hibernate_query查询数据表中部分字段.

    这样的查询结果将是一个Object数组列表,每个元素包含`field1`和`field2`的值。 4. **DetachedCriteria**: 在复杂的查询场景下,可以使用DetachedCriteria来预定义查询条件,然后在需要时再与其他查询组合使用。...

    Struts和Hibernate分页及查询

    6. **设计视图**:创建JSP页面,使用Struts标签库(如`s:iterator`,`s:property`等)来显示查询结果,同时提供分页链接,用户可以通过点击链接切换不同的页码。 7. **条件查询**:在用户输入查询条件后,Action类...

    hibernate实现分页查询

    分页查询的核心思想是通过限制SQL查询结果的数量来实现分页效果。通常,我们需要确定两个关键参数:当前页数(`thisNumber`)和每页显示的记录数(`sumCount`)。基于这两个参数,我们可以计算出查询时应从哪一条...

    hibernate实现动态SQL查询

    例如,我们可以为一个实体类定义多个HQL或SQL查询,根据实际需要选择执行哪一个。 五、FREEMARKER解析 FREEMARKER是一款强大的模板引擎,常用于Web应用中的视图渲染。在Hibernate中,我们可以利用FREEMARKER生成...

    hibernate 模糊查询 分页

    在IT行业中,ORM(Object-Relational Mapping)框架如Hibernate被广泛用于简化Java...在提供的`SplitPage`文件中,可能包含了具体的实现细节和示例代码,进一步学习这些内容将加深你对Hibernate模糊查询和分页的理解。

Global site tag (gtag.js) - Google Analytics