- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
51CTO-hibernate_HQL教程
Hibernate 中HQL语句1.1 HQL基础 2
1.1.1 默认数据库表和数据 2
1.1.2 检索类的所有对象 4
1.1.3 检索类的某几个属性 5
1.1.4 指定别名 5
1.1.5 where条件子句 5
1.1.6 使用distinct过滤掉重复值 6
1.1.7 删除对象 6
1.1.8 更新对象值 7
1.1.9 查询计算属性值 7
1.1.10 使用函数 8
1.1.11 between...and...和not between... and...确定查询范围 8
1.1.12 in和not in确定查询集合 8
1.1.13 like进行模糊查询 8
1.1.14 and逻辑与 9
1.1.15 or逻辑或 9
1.1.16 order by对结果进行排序 10
1.1.17 group by对记录进行分组 10
1.1.18 having关键字 11
1.1.19 聚集函数 11
1.2 HQL进阶 12
1.2.1 查询类及其所有继承的类的实例 12
1.2.2 限制每次查询的返回对象数 12
1.2.3 绑定参数 14
1.2.4 在映射文件配置HQL语句 15
1.3 HQL的嵌套子查询 15
1.3.1 嵌套子查询的概念 15
1.3.2 带有IN谓词的子查询 16
1.3.3 比较子查询 16
1.3.4 带有ANY或ALL的子查询 17
1.4 HQL的多表查询 17
1.4.1 表之间的关联关系 17
1.4.2 表中的数据 18
1.4.3 修改持久化类 19
1.4.4 在映射文件中加入关联信息 20
1.4.5 左外连接 21
1.4.6 左外抓取连接 23
1.4.7 右外连接 24
1.4.8 内连接 24
1.4.9 抓取内连接 25
Hibernate 中HQL语句本章介绍了Hibernate的几种主要检索方式:HQL检索方式、QBC检索方式、SQL检索方式。HQL是Hibernate Query Language的缩写,是官方推荐的查询语言。QBC是Query By Criteria的缩写,是Hibernate提供的一个查询接口。Hibernate是一个轻量级的框架,它允许使用原始SQL语句查询数据库。
.1 HQL基础
HQL是Hiberante官方推荐的Hibernate检索方式,它使用类似SQL的查询语言,以面向对象的方式从数据库中查询。可以使用HQL查询具有继承、多态和关联关系的数据。在检索数据时应优先考虑使用HQL方式。
1.1.1 默认数据库表和数据
在讲解本章时,在没有特殊说明时,用到的数据库均为joblog,也就是在第4章建立的数据库。joblog中添加了3个表:学生表student、课程表course和选课表sc。
学生表student中各字段的结构如图6-1所示,字段的中文含义在Comment列中。
图6-1 学生表的数据结构
学生表student中的数据如图6-2所示,没有特殊说明时,用到的均为这6条记录。
此处仍然使用在第4章建立的HibernateProject项目,但是这里新建了一个包hibernate.ch06,这个包存放本章中的所有代码。在hibernate.ch06包中建立学生表对应的持久化类Student.java,代码如下。
图6-2 学生表中的数据
package hibernate.ch06;
// 学生类
public class Student {
private Integer id; // 对象标识符
private Integer sno;// 学号
private String sname; // 姓名
private String ssex;// 性别
private String sdept; // 所在系别
private Integer sage; // 年龄
private String saddress; // 籍贯
…… //省略了所有的get/set访问器
}
课程表course中的各个字段的结构如图6-3所示,字段的中文含义在Comment列中。
图6-3 课程表的结构
课程表中的数据如图6-4所示,如果没有特殊说明,用到的均为这4条记录。
图6-4 课程表的数据
在hibernate.ch06中新建持久化类Course.java类,代码如下。
package hibernate.ch06;
// 课程类
public class Course {
private Integer id; // 对象标识符
private Integer cno;// 课程号
privat
您可能关注的文档
最近下载
- 民航招飞考试题库及答案.doc VIP
- 2025年新疆交通建设集团有限责任公司招聘笔试备考试题及答案解析.docx VIP
- 高碳钢连铸小方坯消除中心偏析的最佳对策.pdf VIP
- 【培训课件】实验室质量管理体系中的过程控制.pptx VIP
- 在线网课学习课堂《健康管理科研思维训练(杭州师大 )》单元测试考核答案.docx VIP
- Q_SY 1419-2011 油气管道应变监测规范.docx VIP
- 接触网设备检修与施工课件:分段分相绝缘装置的检调.pptx
- 2025年新疆交通建设集团有限责任公司招聘笔试模拟试题及答案解析.docx VIP
- 工程建设招标投标现状、问题与建议.docx VIP
- 17.2 用公式法分解因式 第2课时 运用完全平方公式分解因式 课件.pptx VIP
原创力文档


文档评论(0)