`
fandayrockworld
  • 浏览: 312962 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

让Hibernate Query返回组织好的VO对象列表

阅读更多

举例说明:

 

数据库中有表:student(studentid, studentname, age)

               表:class(classid, classname, studentid)

 

程序中有VO:StudentInfo(studentid, studentname, age, classname)   (假设StudentInfo在com.test包中)

 

在不使用hibernate做关系映射的前提下(抛弃了hibernate的精髓,做法不可取···),想通过一个HQL直接返回一个已经组织好的List<StudentInfo>,比较精辟的做法是:

 

DAO中:

String sql = "select new com.test.StudentInfo(s, c.classname)";
sql += " from Student s, Class c where s.studentid=c.studentid";

Session session = this.getSession();

Query query = session.createQuery(sql);

return query.list(); 

 

StudentInfo中肯定要做一下准备,写一个合适的构造方法:

 

public StudentInfo(Student s, String classname) {
    this.studentid = s.studentid;
    this.studentname = s.studentname;
    this.age = s.age;
    this.classname = classname;
}
 

这样就可以了。

 

另外:

上面HQL的做法详见:hibernate文档的[14.4 select子句]

 

 

 

 

1
2
分享到:
评论

相关推荐

    Hibernate Query Language

    Hibernate Query Language,简称HQL,是Hibernate框架中用于执行数据库查询的一种面向对象的查询语言。它与传统的SQL语言非常相似,但更简洁,更重要的是,HQL理解面向对象的概念,如继承、多态、关联、聚合和组合。...

    HQL(Hibernate Query Language):

    Hibernate Query Language(HQL)是Hibernate框架中用于操作对象关系映射(ORM)的一种查询语言。它是面向对象的,设计目的是让开发人员可以使用对象而不是数据库表进行查询,从而简化了与数据库交互的过程。HQL的...

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

    在Java的持久化框架中,Hibernate是一个非常重要的工具,它提供了强大的对象关系映射(ORM)功能,使得开发者可以方便地在Java对象和数据库表之间进行数据操作。当我们需要执行一些特殊的、复杂的或者非标准的SQL...

    Hibernate SQLQuery 本地查询

    在Java的持久化框架Hibernate中,SQLQuery是用于执行自定义SQL语句的重要工具,它允许开发者绕过ORM(对象关系映射)的抽象层,直接与数据库进行交互。这篇博客"Hibernate SQLQuery 本地查询"可能详细讲解了如何利用...

    hibernate 实践 Query详解

    在Java开发中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者用面向对象的方式操作数据库。在这个“hibernate 实践 - Query详解”的主题中,我们将深入理解如何使用Query接口来执行SQL查询,并...

    \Hibernate_query条件查询

    本篇将深入探讨Hibernate的条件查询,帮助开发者更好地理解和运用这一工具。 1. **HQL(Hibernate Query Language)** HQL是Hibernate提供的面向对象的查询语言,类似于SQL,但操作的对象是对象而非表。例如,要...

    Hibernate中的query 分页.doc

    本文将探讨Hibernate中两种主要的分页方式:`query.scroll()`和使用`query.setFirstResult(), query.setMaxResults()`。 首先,`query.scroll()`方法基于JDBC 2.0的可滚动结果集实现。这种方式允许应用程序在结果...

    Hibernate-HQL-查询-Query资料

    - 子查询可以返回单个值,也可以返回对象列表。 8. **参数化查询** - 使用问号(?)作为占位符,防止SQL注入攻击。 - 可以使用Query接口的setParameter()方法设置参数值。 9. **案例分析** - "HQL查询语言.doc...

    hibernate query调用oracle存储过程

    而Hibernate作为一种流行的Java持久化框架,它允许开发者通过ORM(对象关系映射)方式与数据库进行交互。本篇文章将深入探讨如何使用Hibernate的Query接口来调用Oracle的存储过程和函数,以及提供相关的示例代码和...

    Hibernate Tutorial 09 Hibernate Query Language

    这里的 `from Book` 表示从 `Book` 类中获取所有记录,`query.list()` 返回的是一个包含 `Book` 对象的列表。 ### 3.2 分页查询 为了提高用户体验,我们经常需要对查询结果进行分页显示。HQL 提供了 `...

    Hibernate 操纵持久化对象

    **标题:Hibernate 操纵持久化对象** 在Java开发中,Hibernate是一个强大的对象关系映射(ORM)框架,它简化了数据库与Java对象之间的交互。本篇将详细讲解如何使用Hibernate来操纵持久化对象,这对于深入理解...

    Hibernate对象的生命周期

    Hibernate对象的生命周期 Hibernate对象的生命周期 Hibernate对象的生命周期

    HIBERNATE_QUERY

    ### HIBERNATE_QUERY知识点详解 #### 一、概述 Hibernate作为一款强大的对象关系映射(ORM)框架,为Java开发者提供了一套高效且简洁的方式来处理数据库操作。它支持多种查询方式,包括面向对象的查询语言(HQL)...

    Hibernate_query聚合函数查询.

    首先,让我们了解一下Hibernate中的HQL(Hibernate Query Language),它是Hibernate提供的面向对象的查询语言,类似于SQL,但更贴近于Java。在HQL中,我们可以方便地使用聚合函数进行数据处理。例如,如果你想要...

    Hibernate_Query查询所有数据

    `createQuery()`方法接收HQL语句,返回一个Query对象,然后调用`list()`方法获取所有数据。 2. **使用Criteria API** Criteria API提供了一种更加面向对象的方式来构建查询。查询所有数据的代码如下: ```java ...

    妙解Hibernate 3.x:叩响面向对象思想之门 PDF

    5. 查询语言HQL:介绍Hibernate Query Language,一种面向对象的查询语言,用于检索和更新数据库中的对象。 6. Criteria查询和Criteria API:解释如何使用Criteria API进行动态查询,以及相比HQL的优点和使用场景。...

    Hibernate操作持久化对象

    Hibernate通过将对象模型与关系数据库模型之间的映射进行自动化处理,极大地简化了数据访问层(DAO)的实现,让开发者可以专注于业务逻辑,而非底层的数据库操作。 Hibernate是什么? Hibernate是一个基于JDBC的ORM...

    精通Hibernate:Java对象持久化技术详解.pdf

    《精通Hibernate:Java对象持久化技术详解》这本书深入剖析了Hibernate这一流行的Java对象关系映射(ORM)框架,旨在帮助开发者全面理解并熟练掌握Hibernate的使用。Hibernate是Java开发中的重要工具,它简化了...

    maven+hibernate

    8. **查询**: Hibernate支持HQL(Hibernate Query Language)和 Criteria API,它们提供了面向对象的查询方式。另外,还可以使用原生的SQL查询并通过`@NamedNativeQuery`进行配置。 在这个"Spring4Hibernate5MVC...

    Hibernate SQLQuery执行原生SQL.docx

    2. 对象列表:使用list()方法,当查询预期返回多行时使用。 ```java List&lt;Note&gt; list = query.list(); ``` 四、自定义结果转换器 默认情况下,SQLQuery的查询结果会映射为Object数组或List[]&gt;。然而,有时我们...

Global site tag (gtag.js) - Google Analytics