`
zscomehuyue
  • 浏览: 414740 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Hibernate在映射文件中定义命名查询语句

阅读更多
Hibernate在映射文件中定义命名查询语句
在映射文件中定义命名查询语句

Hibernate允许在映射文件中定义字符串形式的查询语句,例如,可以再Customer.hbm.xml文件中定义如下HQL查询语句:
Xml代码

   1. <hibernate-mapping> 
   2.   <class name="mypack.Customer" table="CUSTOMERS"> 
   3.     ... 
   4.   </class> 
   5.  
   6.   <query name="findCustomersByName"><![CDATA[
   7.     from Customer c where c.name like :name
   8.   ]]></query> 
   9.  
  10. </hibernate-mapping> 

<hibernate-mapping>
  <class name="mypack.Customer" table="CUSTOMERS">
    ...
  </class>

  <query name="findCustomersByName"><![CDATA[
    from Customer c where c.name like :name
  ]]></query>

</hibernate-mapping>


<query>元素用于定义一个HQL查询语句,它和<class>元素并列.
以上HQL查询语句被命名为"findCustomersByName",在程序中通过Session的getNamedQuery()方法获取该查询语句:
Java代码

   1. Query query = session.getNamedQuery("findCustomersByName"); 
   2. query.setString("name", name); 
   3. List result = query.list(); 

Query query = session.getNamedQuery("findCustomersByName");
query.setString("name", name);
List result = query.list();


命名查询语句既可以是HQL查询语句,也可以使本地SQL查询语句:
Xml代码

   1. <sql-query name="findCustomersByName" ><![CDATA[
   2.    select {c.*} from CUSTOMERS c where c.NAME like :name
   3.  ]]> 
   4.  <return alias="c" class="Customer"/> 
   5. </sql-query> 
分享到:
评论

相关推荐

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

    在配置文件中,你可以定义命名查询(Named Query),例如: ```xml &lt;hibernate-mapping&gt; &lt;!-- class mapping details --&gt; &lt;![CDATA[from User as u where u.name = ?]]&gt; &lt;/hibernate-mapping&gt; ``` ...

    hibernate的映射表生成器

    4. **映射文件(hbm.xml)**: Hibernate使用XML文件(通常命名为.hbm.xml)来定义实体类与数据库表之间的映射。映射文件包含了类名、表名、属性到列的映射、主键设置等详细信息。这个“映射表生成器”工具可以帮助...

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

    实体映射文件(通常是`.hbm.xml`扩展名)提供了更详细的表到类的映射定义,包括字段类型、关联关系等。不过,在现代的Hibernate实践中,更常见的是使用注解方式来替代XML映射,使得映射信息直接嵌入到实体类中,便于...

    常用 Hibernate 映射配置说明.doc

    `hibernate-mapping`节点是Hibernate映射文件中的顶级节点,用于定义一系列配置选项,控制整个映射文件的行为和映射规则。这些配置包括数据库连接细节、默认的映射策略等。 - **schema**: 定义了数据库的Schema名称...

    hibernate生成的订单信息映射文件以及pojo类

    总结来说,通过MyEclipse生成的Hibernate映射文件和POJO类,我们可以轻松地在Java应用中处理"订单信息"数据,而无需手动编写大量数据库操作代码。这种面向对象的方式使得代码更易于理解和维护,同时保持了与数据库的...

    Hibernate查询语句统一配置管理.doc

    在Hibernate的映射文件(mapping file)中,可以定义`&lt;query&gt;`标签来存放HQL(Hibernate Query Language)语句,例如: ```xml from User eo where eo.id = ? ``` 这里的`name`属性用于为HQL语句设置一个别名,...

    Hibernate映射导致的几个异常

    标题与描述概述的知识点主要集中在Hibernate映射过程中可能遇到的各种异常情况,这涉及到数据库与对象模型之间的映射问题,以及Hibernate框架在处理这些映射时可能产生的错误。下面将对这些异常进行详细的解释和分析...

    Hibernate4 jar包及配置文件

    【Hibernate4 jar包及配置文件】是Java开发中用于实现对象关系映射(ORM)的重要工具,它简化了数据库操作,使开发者可以使用面向对象的方式来处理数据库事务。在这个压缩包中,我们通常会找到一系列的Hibernate核心...

    hibernate--5.Hibernate配置文件详解

    在Java世界中,Hibernate是一个非常流行的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者可以使用面向对象的方式来处理数据。本篇将详细解析Hibernate的配置文件,帮助你深入理解其工作原理和配置过程。 ...

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

    如果某些查询模式经常被使用,可以定义命名查询,将其写入XML映射文件中,以提高代码可读性和复用性。 6. **动态HQL**: 对于更动态的查询,可以构建HQL字符串,但这可能会引入SQL注入风险,因此要确保正确处理...

    Hibernate自动生成配置文件

    在IT行业中,数据库管理和持久化框架的使用是至关重要的,特别是在Java开发中,Hibernate作为一款流行的ORM(对象关系映射)框架,极大地简化了数据库操作。本篇文章将详细讲解如何在MyEclipse环境下使用Hibernate...

    hibernate 的createSQLQuery的几种用法

    我们可以在映射文档中定义命名 SQL 查询,然后在查询中使用,例如: ```java List people = sess.getNamedQuery("persons") .setString("namePattern", namePattern) .setMaxResults(50) .list(); ``` 这个查询...

    hibernate自定义查询

    命名查询是在Hibernate配置文件(如Query.hbm.xml)中预定义的HQL或Criteria查询,具有良好的可读性和可维护性。例如,在Query.hbm.xml中定义一个命名查询: ```xml &lt;hibernate-mapping&gt; &lt;!-- ... --&gt; from ...

    hibernate 4的配置和使用

    在映射文件中定义了实体类User映射的数据库表TESTUSER,其中主键的生成策略、字段的数据类型等信息都通过标签和标签进行配置。示例中显示了User实体类中的主键id以及属性name、password、sex、age、brithday和creat_...

    hibernate学习笔记文档

    - **定义**:Hibernate 是一款开源的对象关系映射(ORM)框架,它实现了将 Java 应用程序中的对象模型映射到关系型数据库中的记录。通过 ORM 技术,开发者可以直接使用面向对象的方式来操作数据库,而无需编写复杂的...

    tableToJavaBean映射文件

    7. `&lt;hibernate-mapping&gt;`:根元素,表明这是一个Hibernate映射文件。 映射完成后,Hibernate可以自动将数据库查询结果转化为Java对象,或者将对象的状态持久化到数据库中。这大大简化了数据访问层的代码,使得...

    JavaEE技术-自主学习.zip_hibernate_hibernate session _javaee映射.xml

    在Hibernate中,ORM是通过XML文件(通常命名为`hibernate-mapping.xml`或以实体类命名的`.hbm.xml`文件)来实现的。这些文件定义了JavaBean(PO类)与数据库表之间的对应关系。例如,如果我们有一个`User`类,对应的...

    hibernate试验

    - 链接限定通常涉及表间的关联查询,这可以通过在SQL语句中使用JOIN操作实现,或者在HQL中通过`from Entity1 e1 join fetch Entity2 e2`来加载关联的对象。 4. **动态查询** - 动态查询允许我们在运行时构建查询...

    CodeSmith对应的NHibernate的.hbm.xml映射文件的生成模板

    1. XML根元素:`&lt;hibernate-mapping&gt;`,定义映射文件的版本和命名空间。 2. `&lt;class&gt;`元素:表示映射的类,包含类名、表名、表空间等信息。 3. `&lt;id&gt;`元素:定义主键映射,包括生成策略(如increment、native、guid...

Global site tag (gtag.js) - Google Analytics