Hibernate教程:命名参数与HQL查询实践
需积分: 10 153 浏览量
更新于2024-08-18
收藏 1.5MB PPT 举报
本篇文章主要讲解了关于 Hibernate 中的参数查询,特别是针对命名参数的使用方法。在 Hibernate 的查询处理中,有两种主要的查询方式:HQL(Hibernate Query Language)和 Criteria 查询。HQL 是 Hibernate 提供的一种 SQL 风格的查询语言,它允许开发者使用类似 SQL 的语法来操作持久化对象,而 Criteria 查询则提供了更灵活的对象导航和条件构建功能。
章节七开始介绍了预习检查的内容,涵盖了 Hibernate 支持的两种查询类型以及 HQL 的概念。HQL 作为 Hibernate 的核心查询机制,它不仅能够进行简单的数据获取,如查询所有房屋信息(通过 `select * from tbl_fwxx`),还支持更复杂的查询,如模糊查询(如对房屋标题的搜索)、精确查询(如按街道名称查找)、范围查询(如租金在一定区间内的租房信息)和分页查询。
在实际操作中,使用 HQL 实现这些功能需要遵循以下步骤:
1. **获取 Session**:首先需要获取 Hibernate 的 Session 对象,这是与数据库交互的主要接口。
2. **编写 HQL 语句**:根据查询需求构造 HQL 语句,例如 `fromTblFwxx` 用于表示从房租信息表中查询,`:参数名` 用于定义命名参数。
3. **创建 Query**:将 HQL 语句传递给 Query 对象,这是执行查询的实际工具。
4. **执行查询并获取结果**:调用 Query 对象的 executeQuery() 方法执行查询,并可能根据需要使用 Criteria API 设置参数值。
在编写 HQL 时,需要注意以下几点:
- 使用 `from` 关键字引入实体类名(而非数据库表名),这体现了 Hibernate 的对象关系映射(ORM)特性。
- 可以省略 `select` 子句,因为默认情况下 HQL 会选择所有的属性。
- 使用 `as` 关键字为表指定别名,如 `select fw fromTblFwxx as fw`,使得查询语句更加简洁。
在具体场景中,例如查询特定联系人发布的街道信息,可能需要结合多个表的联查和命名参数来实现,如:
```sql
SELECT f.*
FROM Fwxx fw
JOIN fw.contacts c ON fw.contactId = c.id
WHERE c.customerName = :customerName AND fw.street = :streetName
```
在这个例子中,`:customerName` 和 `:streetName` 是命名参数,用于存储联系人的姓名和特定街道的名称。
学习和掌握 Hibernate 的 HQL 参数查询,能够让你更好地管理持久化对象,执行灵活多样的数据库操作,提高开发效率。
227 浏览量
111 浏览量
106 浏览量
184 浏览量
285 浏览量
232 浏览量
2025-01-07 上传
168 浏览量
118 浏览量
鲁严波
- 粉丝: 25
- 资源: 2万+
最新资源
- 极速PE u盘启动盘制作工具(xp内核) v6.1
- ember-cli-webcomponents-bundler:使用ES6模块捆绑Web组件
- 行业文档-设计装置-阶梯式弧形看台现浇装饰板的模板支撑体系及构建方法.zip
- Imperial Realms Standard Client-开源
- 2020TI杯模拟电子系统邀请赛现场u盘内容 包络电源
- Racer对Emacs的支持—自动完成(另请参阅公司和自动完成)-Rust开发
- gpsDataLogger-开源
- python 碎图合成脚本 附带说明文档
- 领域自适应文本挖掘工具(新词发现、情感分析、实体链接等),基于少量种子词和背景知识
- scripts:波格
- 行业文档-设计装置-一种平台.zip
- FJSP算例转化程序,需要指定文件位置带后缀的,xls,除了MK算例不能转化外,其他的算例都能转化
- 算法:算法문제풀이
- jql-JSON查询语言CLI工具-Rust开发
- Mobile_App_Look-Feel
- PYNQ-Z1中文入门指导手册及示例程序