Hibernate学习(检索策略)

检索策略的概念

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

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

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

关联级别延迟操作

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

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

6.png
7.png

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

8.png

批量抓取

  1. 查询所有的客户,返回list集合,遍历list集合,得到每个客户,得到每个客户的所有联系人
    (1)上面操作代码,发送多条sql语句
9.png
  1. 在客户的映射文件中,set标签配置
    (1)batch-size值,值越大发送语句越少
10.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,312评论 19 139
  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 11,087评论 0 4
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,898评论 18 399
  • 一 检索策略概念1 hibernate检索策略分为两类(1)立即查询:根据id查询,调用get方法,一调用get方...
    常威爆打来福阅读 962评论 0 3
  • 初秋的闽南,还是那么的暖和。这里不像故乡,已经开始冷起来了。随着温暖的气候,我带着儿时怀揣的梦想,独自踏上人生征程...
    大野的竹阅读 1,228评论 0 0