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>
分享到:
相关推荐
在配置文件中,你可以定义命名查询(Named Query),例如: ```xml <hibernate-mapping> <!-- class mapping details --> <![CDATA[from User as u where u.name = ?]]> </hibernate-mapping> ``` ...
4. **映射文件(hbm.xml)**: Hibernate使用XML文件(通常命名为.hbm.xml)来定义实体类与数据库表之间的映射。映射文件包含了类名、表名、属性到列的映射、主键设置等详细信息。这个“映射表生成器”工具可以帮助...
实体映射文件(通常是`.hbm.xml`扩展名)提供了更详细的表到类的映射定义,包括字段类型、关联关系等。不过,在现代的Hibernate实践中,更常见的是使用注解方式来替代XML映射,使得映射信息直接嵌入到实体类中,便于...
`hibernate-mapping`节点是Hibernate映射文件中的顶级节点,用于定义一系列配置选项,控制整个映射文件的行为和映射规则。这些配置包括数据库连接细节、默认的映射策略等。 - **schema**: 定义了数据库的Schema名称...
总结来说,通过MyEclipse生成的Hibernate映射文件和POJO类,我们可以轻松地在Java应用中处理"订单信息"数据,而无需手动编写大量数据库操作代码。这种面向对象的方式使得代码更易于理解和维护,同时保持了与数据库的...
在Hibernate的映射文件(mapping file)中,可以定义`<query>`标签来存放HQL(Hibernate Query Language)语句,例如: ```xml from User eo where eo.id = ? ``` 这里的`name`属性用于为HQL语句设置一个别名,...
标题与描述概述的知识点主要集中在Hibernate映射过程中可能遇到的各种异常情况,这涉及到数据库与对象模型之间的映射问题,以及Hibernate框架在处理这些映射时可能产生的错误。下面将对这些异常进行详细的解释和分析...
【Hibernate4 jar包及配置文件】是Java开发中用于实现对象关系映射(ORM)的重要工具,它简化了数据库操作,使开发者可以使用面向对象的方式来处理数据库事务。在这个压缩包中,我们通常会找到一系列的Hibernate核心...
在Java世界中,Hibernate是一个非常流行的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者可以使用面向对象的方式来处理数据。本篇将详细解析Hibernate的配置文件,帮助你深入理解其工作原理和配置过程。 ...
如果某些查询模式经常被使用,可以定义命名查询,将其写入XML映射文件中,以提高代码可读性和复用性。 6. **动态HQL**: 对于更动态的查询,可以构建HQL字符串,但这可能会引入SQL注入风险,因此要确保正确处理...
在IT行业中,数据库管理和持久化框架的使用是至关重要的,特别是在Java开发中,Hibernate作为一款流行的ORM(对象关系映射)框架,极大地简化了数据库操作。本篇文章将详细讲解如何在MyEclipse环境下使用Hibernate...
我们可以在映射文档中定义命名 SQL 查询,然后在查询中使用,例如: ```java List people = sess.getNamedQuery("persons") .setString("namePattern", namePattern) .setMaxResults(50) .list(); ``` 这个查询...
命名查询是在Hibernate配置文件(如Query.hbm.xml)中预定义的HQL或Criteria查询,具有良好的可读性和可维护性。例如,在Query.hbm.xml中定义一个命名查询: ```xml <hibernate-mapping> <!-- ... --> from ...
在映射文件中定义了实体类User映射的数据库表TESTUSER,其中主键的生成策略、字段的数据类型等信息都通过标签和标签进行配置。示例中显示了User实体类中的主键id以及属性name、password、sex、age、brithday和creat_...
- **定义**:Hibernate 是一款开源的对象关系映射(ORM)框架,它实现了将 Java 应用程序中的对象模型映射到关系型数据库中的记录。通过 ORM 技术,开发者可以直接使用面向对象的方式来操作数据库,而无需编写复杂的...
7. `<hibernate-mapping>`:根元素,表明这是一个Hibernate映射文件。 映射完成后,Hibernate可以自动将数据库查询结果转化为Java对象,或者将对象的状态持久化到数据库中。这大大简化了数据访问层的代码,使得...
在Hibernate中,ORM是通过XML文件(通常命名为`hibernate-mapping.xml`或以实体类命名的`.hbm.xml`文件)来实现的。这些文件定义了JavaBean(PO类)与数据库表之间的对应关系。例如,如果我们有一个`User`类,对应的...
- 链接限定通常涉及表间的关联查询,这可以通过在SQL语句中使用JOIN操作实现,或者在HQL中通过`from Entity1 e1 join fetch Entity2 e2`来加载关联的对象。 4. **动态查询** - 动态查询允许我们在运行时构建查询...
1. XML根元素:`<hibernate-mapping>`,定义映射文件的版本和命名空间。 2. `<class>`元素:表示映射的类,包含类名、表名、表空间等信息。 3. `<id>`元素:定义主键映射,包括生成策略(如increment、native、guid...