Hibernate学习04
(这是在学习Hibernate整理的笔记。)
Hibernate学习01
Hibernate学习02
Hibernate学习03
文章目录
4.1 Hibernate的查询的方式
在Hibernate中提供了很多种的查询的方式。Hibernate共提供了五种查询方式。
4.1.1 Hibernate的查询方式:OID查询
OID检索:Hibernate根据对象的OID(主键)进行检索
4.1.1.1 使用get方法
Customer customer = session.get(Customer.class,1l);
4.1.1.2 使用load方法
Customer customer = session.load(Customer.class,1l);
4.1.2 Hibernate的查询方式:对象导航检索
对象导航检索:Hibernate根据一个已经查询到的对象,获得其关联的对象的一种查询方式。
4.1.3 Hibernate的查询方式:HQL检索
HQL查询:Hibernate Query Language,Hibernate的查询语言,是一种面向对象的方式的查询语言,语法类似SQL。通过session.createQuery(),用于接收一个HQL进行查询方式。
4.1.3.1 初始化一些数据
4.1.3.2 HQL的简单查询
4.1.3.3 HQL的别名查询
4.1.3.4 HQL的排序查询
4.1.3.5 HQL的条件查询
4.1.3.6 HQL的投影查询
投影查询:查询对象的某个或某些属性。
4.1.3.7 HQL的分页查询
4.1.3.8 HQL的分组统计查询
4.1.3.9 HQL的多表查询
- SQL的多表查询
- HQL的多表查询
4.1.4 Hibernate的查询方式:QBC检索
QBC查询:Query By Criteria,条件查询。是一种更加面向对象化的查询的方式。
4.1.4.1 简单查询
4.1.4.2 排序查询
4.1.4.3 分页查询
4.1.4.4 条件查询
4.1.4.5 统计查询
4.1.4.6 离线条件查询(SSH)—DetachedCriteria
4.1.5 Hibernate的查询方式:SQL检索
4.1.5.1 SQL查询
SQL查询:通过使用sql语句进行查询
4.2 Hibernate的抓取策略(优化)
4.2.1 延迟加载的概述
4.2.1.1 什么是延迟加载
延迟加载:lazy(懒加载)。执行到该行代码的时候,不会发送语句去进行查询,在真正使用这个对象的属性的时候才会发送SQL语句进行查询。
4.2.1.2 延迟加载的分类
4.2.2 抓取策略
4.2.2.1 抓取策略的概述
- 通过一个对象抓取到关联对象需要发送SQL语句,SQL语句如何发送,发送成什么样格式通过策略进行配置。
A:通过或者上通过fetch属性进行设置
B:fetch和这些标签上的lazy如何设置优化发送的SQL语句
4.2.2.2 < set >上的fetch和lazy
4.2.2.3 < many-to-one >上的fetch和lazy
4.2.3 批量抓取
4.2.3.1 什么是批量抓取
一批关联对象一起抓取,batch-size
4.2.3.2 测试批量抓取
Hibernate学习04 END!