`

Hibernate 实体映射文件中 写 hql/sql 语句

 
阅读更多
Hibernate 实体映射文件中 写 hql/sql 语句

在使用Hibernate做开发时,可以直接在源代码里写 HQL/SQL,也可以利用hibernate 实体映射文件中写HQL/SQL

下面介绍在实体映射文件中写HQL/SQL

实体映射文件: user.hbm.xml

<hibernate-mapping>  
    <class name="org.tie.User" table="user" catalog="tie">  
        <id name="id" type="long">  
            <column name="id" />  
            <generator class="native" />  
        </id>  
        <property name="name" type="string">  
            <column name="name" length="45" not-null="true" />  
        </property>  
        <property name="age" type="integer">  
            <column name="age" not-null="true" />  
        </property>  
        <property name="addr" type="string">  
            <column name="addr" length="45" not-null="true" />  
        </property>  
    </class>  
    <!-- 这里将Hql语句写到配置文件当中,名字是可以随便取的 --> 
    <query name="getUserInfo">  
        from User where addr=:address and age=:age   
    </query>   
</hibernate-mapping>

hibernate配置文件:hibernate.cfg.xml
	
<xml version="1.0"?>
    <DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD//EN"
    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <mapping resource="User.hbm.xml"/>
    <session-factory>
<hibernate-configuration>

java代码:
/*  
 * 另外Hibernate允许我们把 sql语句配置到文件中  
 * 因为写到程序中需要编译的,而写到配置文件中是不需要编译的   
 */ 
          
public void testHQL13(){   
    Session session = factory.openSession();   
    //这里通过getNameQuery这个方法来取得到配置文件中的hql语句   
    Query query = session.getNamedQuery("getUserInfo");   
    query.setString("address", "Beijing");   
    query.setInteger("age", 22);   
    List<User> users = query.list();   
    for(User user : users){   
        System.out.println(user.getName());   
        System.out.println("---------------");   
    }   
    session.close();   
}
分享到:
评论

相关推荐

    Hibernate调用配置文件中的sql语句

    本篇将深入探讨如何在Hibernate中调用配置文件中的SQL语句,以此提高代码的可维护性和灵活性。 首先,理解Hibernate的核心概念至关重要。Hibernate是一个对象关系映射(ORM)框架,它将Java对象与关系数据库中的...

    hibernate执行原生sql语句

    "hibernate执行原生sql语句" Hibernate 是一种流行的 ORM(Object-Relational Mapping)框架,用于将 Java 对象映射到关系数据库中。然而,在一些情况下,我们需要直接执行原生 SQL 语句,而不是使用 Hibernate 的...

    Hibernate中Sql语句

    - 当SQL语句较为复杂时,建议将其抽取为独立的方法或配置文件,以便于维护和复用。 - 对于频繁使用的查询,可以考虑使用缓存机制来提高性能。 通过以上分析可以看出,在Hibernate中使用原生SQL能够更灵活地处理复杂...

    根据数据库表生成实体、hibernate配置文件和实体映射文件

    Hibernate提供了一个在Java应用中使用的持久化模型,它允许开发者用面向对象的方式来操作数据库,而不是传统的SQL语句。通过ORM,Hibernate将Java对象映射到数据库表,这样就可以直接对Java对象进行CRUD(创建、读取...

    C#不写SQL语句的数据库操作

    本主题将探讨如何在C#中进行不写SQL语句的数据库操作,实现对数据的增删改查功能。 首先,我们可以利用ORM(Object-Relational Mapping)框架来避免直接编写SQL。ORM框架允许开发者用面向对象的方式来操作数据库,...

    Hibernate生产SQL语句

    在Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它允许开发者通过面向对象的方式操作数据库,而无需直接编写SQL语句。本文将深入探讨如何模仿Hibernate生成SQL语句,以及如何利用Java反射技术来...

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

    在数据查询方面,Hibernate提供了多种查询方式,其中HQL(Hibernate Query Language)是一种基于SQL的领域查询语言,它允许开发者以面向对象的方式编写查询语句,而无需直接处理复杂的SQL语句。本文将深入探讨...

    hibernate hql where语句拼接工具类

    HQL(Hibernate Query Language)是Hibernate提供的一个SQL的面向对象的查询语言,它使得开发者可以避免直接编写SQL语句,从而更好地进行数据库操作。本文将深入探讨“hibernate hql where语句拼接工具类”,并结合...

    hibernate实现动态SQL查询

    在Hibernate中,我们可以创建自定义的SQL查询语句并将其配置在映射文件(.hbm.xml)中。这些自定义SQL可以在需要时动态调用,从而实现动态查询。例如,我们可以为一个实体类定义多个HQL或SQL查询,根据实际需要选择...

    spring_Framework+经典SQL语句大全+Hibernate中文API

    3. Hibernate的中文API文档:对于初学者或者非英语为母语的开发者来说,中文API文档能更方便地理解Hibernate各组件的功能和用法,包括实体类、映射文件、会话工厂等。 4. 示例代码或项目:可能包含了一些使用Spring...

    Hibernate在Myeclipse下SQL语句演示

    在Myeclipse这样的集成开发环境中,使用Hibernate可以方便地进行SQL语句的编写和调试。本演示将重点讲解如何在Myeclipse下利用Hibernate执行HQL(Hibernate Query Language)和Criteria查询。 ### Hibernate核心...

    hibernate映射和查询

    **hibernate映射与查询** Hibernate 是一个流行的 Java 应用程序开发框架,它提供了一个持久层解决方案,简化了数据库操作。对于初学者来说,理解 Hibernate 的映射和查询机制是至关重要的,因为它们构成了 ...

    使用hibernate对sqlserver 2005进行增删改查

    在Java开发中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者通过面向对象的方式来操作数据库,而无需直接编写SQL语句。在这个场景中,我们将探讨如何使用Hibernate与SQL Server 2005数据库进行...

    Hibernate实体层设计

    Hibernate是一个开源的ORM框架,它的主要任务是通过提供对象模型到关系数据的映射,使得开发者可以使用面向对象的方式来处理数据库操作,避免了繁琐的SQL语句编写。在Hibernate的帮助下,Java程序员可以专注于业务...

    hibernate_hql.rar_HQL

    首先,HQL是Hibernate提供的一个强大的查询工具,它允许开发者用类名和属性名来代替表名和列名,从而避免了直接操作SQL语句的繁琐。HQL支持基本查询、聚合函数、分组、排序、子查询以及连接查询等多种操作,使得...

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

    首先,本地SQL查询(Native SQL)是指直接在Hibernate中使用原生的SQL语句进行查询,而不是使用HQL(Hibernate Query Language)。这允许开发者充分利用SQL的功能,比如进行复杂的统计计算或者处理特定数据库的特性...

    hibernate的映射表生成器

    1. **对象关系映射(ORM)**: ORM是将对象模型和数据库模型进行映射的技术,使得开发者可以使用面向对象的方式来处理数据库,无需关注底层SQL语句。Hibernate是Java领域中最受欢迎的ORM框架之一,它提供了强大的映射...

    Hibernate自动生成持久化类和映射文件

    "Hibernate自动生成持久化类和映射文件"这个话题主要涉及如何利用myEclipse这款集成开发环境的反向工程功能,快速地根据数据库中的表结构生成对应的Hibernate配置文件、映射文件以及持久化类。下面将详细介绍这一...

    Hibernate查询语句写在配置文件中

    在这个映射文件中,我们可以声明查询语句,如 HQL(Hibernate Query Language)或 SQL。 3. **HQL 查询**:HQL 是 Hibernate 提供的一种面向对象的查询语言,类似于 SQL,但操作的对象是 Java 类而非数据库表。在...

    hql语句大全hql语句大全

    它提供了面向对象的语法,允许开发人员以一种接近于编程语言的方式进行数据访问,极大地简化了SQL语句的编写过程,提升了开发效率和代码的可读性。 #### HQL语句类型与结构 ##### 1. SELECT子句 在Java环境中,HQL...

Global site tag (gtag.js) - Google Analytics