`

Hibernate HQL查询源文档学习(二)

 
阅读更多

在使用Hibernate查询时,我们通常有三种方式,通过三种方式皆可完成Hibernate的查询。下面我们来简单了解下在Hibernate中这三种查询的使用。

1. sql or hql语句查询:

    这种是我们最常使用的方式,将sql查询写在代码中,这样做的好处是直观,当我们需要查询某个对象信息时,直接在dao层中书写对应的查询代码,符合我们的常用书写习惯。

String hql = "select case u.name when '' then '无名前辈' else u.name end from User u";
List query2 = session.createQuery(hql).list();
for(int i=0;i<query2.size();i++){
       Object[] objs = (Object[]) query2.get(i); 
       System.out.println(objs[0]);
       System.out.println(objs[0]);
       System.out.println(objs[0]);	
}

 2. XML中写sql查询

     我们可以在XX_hbm.xml的<sql-query>标签中添加查询语句,并把该查询加载到对应的<class>标签中,在<sql-query>标签中书写sql查询语句时,我们也可以定义返回参数类型,如下:

   <return alias="user" class="User"></return>当我们添加这样的标签时,我们查询的结果就是List<User>类型的,当我们去除该标签时,我们的查询结果就是默认的List<Object[]>类型的。

<hibernate-mapping>
 <class name="User" table="User">
  <id name="Id"/>
  <property  name="name"/>
  <property  name="password"/>
  <loader query-ref="getUsersByName"/>
 </class>
 <sql-query name="getUsersByName">
 	<!-- <return alias="user" class="User"></return>   -->
 	select u.id ,
 	       u.name ,
 	       u.password  
 	from User u  
 	where u.name like :namePattern
 </sql-query>
</hibernate-mapping>

 对于不同的结果返回类型,我们处理的方式也不一样,下面是List<Object[]>类型的处理方式。

List people = session.getNamedQuery("getUsersByName").setString("namePattern", "张三丰").setMaxResults(2).list();
for(int i=0;i<people.size();i++){
Object[] objs = (Object[]) people.get(i); 
System.out.println(objs[0]);
}

 

 

分享到:
评论

相关推荐

    Hibernate查询语言HQL.PPT

    Hibernate 查询语言 HQL Hibernate 查询语言 HQL 是一种面向对象的查询语言,用于检索对象。它提供了灵活多样的查询机制,包括导航对象图、通过标识符检索、使用 HQL 检索对象、使用 Hibernate 条件 API 和使用本地...

    Hibernate的HQL查询

    hibernate hql 语法学习的文档

    Hibernate-HQL.rar_HQL_hibernate hql

    本篇文档将深入探讨Hibernate中的HQL(Hibernate Query Language),一种面向对象的查询语言,它提供了与SQL类似的语法,但更贴近于面向对象的思维模式,使得开发者可以更加便捷地进行数据查询。 一、HQL简介 HQL是...

    hibernate 中HQL语句查询学习笔记

    ### Hibernate中HQL语句查询学习笔记 #### HQL基础 **HQL**(Hibernate Query Language)是Hibernate框架推荐使用的查询语言,它提供了一种面向对象的方式来查询数据库,支持多种复杂的查询操作,如继承、多态及...

    Hibernate HQL 结合 velocity

    **Hibernate HQL(Hibernate Query Language)** 是Hibernate提供的一个面向对象的查询语言,类似于SQL,但它是针对对象模型设计的。HQL允许开发者使用类和属性的名字而不是表和列名进行查询,从而降低了对底层...

    Hibernate-HQL-查询-Query资料

    通过学习这些文档,开发者可以掌握如何在Hibernate项目中高效地利用HQL进行数据查询,提升开发效率,同时保持代码的简洁和可维护性。理解并熟练运用HQL,是成为精通Hibernate的开发者不可或缺的一步。

    Hibernate HQL详解.docx

    Hibernate HQL,全称为Hibernate Query Language,是Hibernate框架中用于操作数据库的一种面向对象的查询语言。它允许开发者用面向对象的方式来编写查询语句,极大地提高了开发效率和代码的可读性。以下是对HQL的...

    HQL Hibernate查询语言

    HQL Hibernate查询语言,HQL的学习和参考的文档,开发必备。

    HQL语法入门学习HQL语法入门学习

    HQL,全称为Hibernate Query Language,是Hibernate框架提供的一种面向对象的查询语言。与SQL(Structured Query Language)不同,HQL是专为ORM(Object-Relational Mapping)设计的,它允许开发者以类和对象的方式...

    hibernate3中文官方文档

    这份文档分为多个章节,深入讲解了 Hibernate 的核心概念、配置、实体映射、查询语言、缓存策略以及与 Spring 框架的集成等关键内容。 一、Hibernate 核心概念 Hibernate 提供了一个数据持久化的框架,将 Java 对象...

    Hibernate DOC中文文档(学习Hibernate必备手册)

    5. **查询语言**:包括HQL(Hibernate Query Language)和 Criteria API,它们是用于查询数据库的对象化方式,比SQL更贴近面向对象编程。 6. **缓存机制**:介绍第一级缓存和第二级缓存的工作原理,以及如何配置和...

    Hibernate教程(数据查询)HQL,PDF格式

    ### Hibernate教程:数据查询与HQL详解 #### 引言 Hibernate是一款强大的对象关系映射(ORM)框架,它能够将Java对象与数据库表进行映射,极大地简化了数据库操作的复杂度。在数据查询方面,Hibernate提供了多种...

    Hibernate学习文档集合

    本集合包含了三个关键的学习文档,分别关注于Hibernate的操作基础、对象关系映射和高级查询技巧,是深入理解Hibernate不可或缺的资料。 一、《Hiberhate的增、删、改、查、动态、查询、分页.doc》 这份文档详细阐述...

    Hibernate中文参考文档学习

    在这个“Hibernate中文参考文档学习”中,我们可以深入理解Hibernate的核心概念、配置、实体映射、查询语言以及其他关键特性。 1. **核心概念** - **对象关系映射(ORM)**: ORM是将数据库中的数据模型转换为面向...

    hibernate中英文API文档

    API文档通常包括实体管理、会话管理、查询语言(HQL)、 Criteria查询、缓存机制等内容。 2. **HIBERNATE - Relational Persistence for Idiomatic Java.pdf**: 这可能是一份详细的Hibernate技术白皮书或者教程,...

    HibernateHQL级联注意事项[归类].pdf

    文档中提到的三条HQL语句没有给出具体内容,但通常会涉及如何通过级联查询获取员工及其所属部门的信息。分析这些语句的差异,可以进一步理解HQL如何处理关联对象的查询。 总结,掌握Hibernate HQL级联查询的关键...

    Hibernate帮助文档

    4. **查询语言(HQL)**: Hibernate查询语言是一种面向对象的查询语言,类似于SQL,但更接近于Java语法。HQL允许开发者以类和对象的方式查询数据,而不是直接操作数据库表。 5. **Criteria API**: 除了HQL,...

    Hibernate 3.2.0 中文官方文档

    9. **缓存机制**:Hibernate支持第二级缓存和查询缓存,可以显著提高性能。理解何时及如何使用缓存策略。 10. **事务管理**:学习如何在Hibernate中处理事务,包括自动提交、显式提交、回滚和隔离级别。 11. **...

    hibernate学习文档

    《Hibernate学习文档》 Hibernate是一种广泛应用于Java开发中的对象关系映射(ORM)框架,它的核心价值在于简化了数据库操作,通过将Java对象模型与SQL关系模型进行映射,使得开发者可以使用面向对象的方式来处理...

    hibernate中文参考文档

    Hibernate是一款开源的对象关系映射(Object/Relational Mapping,...整个文档是一个综合性的Hibernate使用指南,它从理论到实践都有所涵盖,对于任何想要深入学习和使用Hibernate框架的Java开发者来说都是宝贵的资源。

Global site tag (gtag.js) - Google Analytics