Hibernate学习(检索策略)

检索策略的概念

  1. hibernate检索策略分为两类:
    (1)立即查询:根据id查询,调用get方法,一调用get方法马上发送语句查询数据库
Hibernate学习(检索策略)_第1张图片
1.png

(2)延迟查询:根据id查询,还有load方法,调用load方法不会马上发送语句查询数据,只有得到对象里面的值时候才会发送语句查询数据库

Hibernate学习(检索策略)_第2张图片
2.png
  1. 延迟查询分成两类:
    (1)类级别延迟:根据id查询返回实体类对象,调用load方法不会马上发送语句
    (2)关联级别延迟:
    查询某个客户,再查询这个客户的所有联系人,查询客户的所有联系人的过程是否需要延迟,这个过程称为关联级别延迟
Hibernate学习(检索策略)_第3张图片
3.png

关联级别延迟操作

  1. 在映射文件中进行配置实现
    (1)根据客户得到所有的联系人,在客户映射文件中配置
  2. 在set标签上使用属性
    (1)fetch:值select(默认)
    (2)lazy:值
    true:延迟(默认)
    false:不延迟
    extra:极其延迟
4.png
5.png

(1)调用get之后,发送两条sql语句

Hibernate学习(检索策略)_第4张图片
6.png
7.png

(1)极其懒惰,要什么值给什么值

Hibernate学习(检索策略)_第5张图片
8.png

批量抓取

  1. 查询所有的客户,返回list集合,遍历list集合,得到每个客户,得到每个客户的所有联系人
    (1)上面操作代码,发送多条sql语句
Hibernate学习(检索策略)_第6张图片
9.png
  1. 在客户的映射文件中,set标签配置
    (1)batch-size值,值越大发送语句越少
10.png

你可能感兴趣的:(Hibernate学习(检索策略))