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的核心概念至关重要。Hibernate是一个对象关系映射(ORM)框架,它将Java对象与关系数据库中的...
"hibernate执行原生sql语句" Hibernate 是一种流行的 ORM(Object-Relational Mapping)框架,用于将 Java 对象映射到关系数据库中。然而,在一些情况下,我们需要直接执行原生 SQL 语句,而不是使用 Hibernate 的...
- 当SQL语句较为复杂时,建议将其抽取为独立的方法或配置文件,以便于维护和复用。 - 对于频繁使用的查询,可以考虑使用缓存机制来提高性能。 通过以上分析可以看出,在Hibernate中使用原生SQL能够更灵活地处理复杂...
Hibernate提供了一个在Java应用中使用的持久化模型,它允许开发者用面向对象的方式来操作数据库,而不是传统的SQL语句。通过ORM,Hibernate将Java对象映射到数据库表,这样就可以直接对Java对象进行CRUD(创建、读取...
本主题将探讨如何在C#中进行不写SQL语句的数据库操作,实现对数据的增删改查功能。 首先,我们可以利用ORM(Object-Relational Mapping)框架来避免直接编写SQL。ORM框架允许开发者用面向对象的方式来操作数据库,...
在Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它允许开发者通过面向对象的方式操作数据库,而无需直接编写SQL语句。本文将深入探讨如何模仿Hibernate生成SQL语句,以及如何利用Java反射技术来...
在数据查询方面,Hibernate提供了多种查询方式,其中HQL(Hibernate Query Language)是一种基于SQL的领域查询语言,它允许开发者以面向对象的方式编写查询语句,而无需直接处理复杂的SQL语句。本文将深入探讨...
HQL(Hibernate Query Language)是Hibernate提供的一个SQL的面向对象的查询语言,它使得开发者可以避免直接编写SQL语句,从而更好地进行数据库操作。本文将深入探讨“hibernate hql where语句拼接工具类”,并结合...
在Hibernate中,我们可以创建自定义的SQL查询语句并将其配置在映射文件(.hbm.xml)中。这些自定义SQL可以在需要时动态调用,从而实现动态查询。例如,我们可以为一个实体类定义多个HQL或SQL查询,根据实际需要选择...
3. Hibernate的中文API文档:对于初学者或者非英语为母语的开发者来说,中文API文档能更方便地理解Hibernate各组件的功能和用法,包括实体类、映射文件、会话工厂等。 4. 示例代码或项目:可能包含了一些使用Spring...
在Myeclipse这样的集成开发环境中,使用Hibernate可以方便地进行SQL语句的编写和调试。本演示将重点讲解如何在Myeclipse下利用Hibernate执行HQL(Hibernate Query Language)和Criteria查询。 ### Hibernate核心...
**hibernate映射与查询** Hibernate 是一个流行的 Java 应用程序开发框架,它提供了一个持久层解决方案,简化了数据库操作。对于初学者来说,理解 Hibernate 的映射和查询机制是至关重要的,因为它们构成了 ...
在Java开发中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者通过面向对象的方式来操作数据库,而无需直接编写SQL语句。在这个场景中,我们将探讨如何使用Hibernate与SQL Server 2005数据库进行...
Hibernate是一个开源的ORM框架,它的主要任务是通过提供对象模型到关系数据的映射,使得开发者可以使用面向对象的方式来处理数据库操作,避免了繁琐的SQL语句编写。在Hibernate的帮助下,Java程序员可以专注于业务...
首先,HQL是Hibernate提供的一个强大的查询工具,它允许开发者用类名和属性名来代替表名和列名,从而避免了直接操作SQL语句的繁琐。HQL支持基本查询、聚合函数、分组、排序、子查询以及连接查询等多种操作,使得...
首先,本地SQL查询(Native SQL)是指直接在Hibernate中使用原生的SQL语句进行查询,而不是使用HQL(Hibernate Query Language)。这允许开发者充分利用SQL的功能,比如进行复杂的统计计算或者处理特定数据库的特性...
1. **对象关系映射(ORM)**: ORM是将对象模型和数据库模型进行映射的技术,使得开发者可以使用面向对象的方式来处理数据库,无需关注底层SQL语句。Hibernate是Java领域中最受欢迎的ORM框架之一,它提供了强大的映射...
"Hibernate自动生成持久化类和映射文件"这个话题主要涉及如何利用myEclipse这款集成开发环境的反向工程功能,快速地根据数据库中的表结构生成对应的Hibernate配置文件、映射文件以及持久化类。下面将详细介绍这一...
在这个映射文件中,我们可以声明查询语句,如 HQL(Hibernate Query Language)或 SQL。 3. **HQL 查询**:HQL 是 Hibernate 提供的一种面向对象的查询语言,类似于 SQL,但操作的对象是 Java 类而非数据库表。在...
它提供了面向对象的语法,允许开发人员以一种接近于编程语言的方式进行数据访问,极大地简化了SQL语句的编写过程,提升了开发效率和代码的可读性。 #### HQL语句类型与结构 ##### 1. SELECT子句 在Java环境中,HQL...