Hibernate检索策略

类级别的检索策略:

首先要明确的是类级别的懒加载是针对session对象的load方法的,对get方法根本就没有意义。类级别的检索策略就是在class上添加lazy属性即:lazy=”true/false”

lazy=”true”,那么load()方法就可以使用懒加载

lazy=”false”,那么load()方法就不能使用懒加载了,只能使用立即检索。

备注:懒加载要注意一个问题就是谨防出现懒加载异常。

Set集合属性的检索策略:(lazy、fetch、batch-size)

set集合下面也有lazy属性。(true/false/extra) 通常使用true即默认懒加载开启

set集合下面的fetch属性。(join/select/subselect)默认使用的是join

join:表示的是迫切左外连接(即:使用左外链接进行查询, 且把集合属性进 行初始化)

select:表示自己手写sql外连接之类的

subselect:表示使用子查询(挺好的)作为 where 子句的 in 的条件出现 , 子查询查询所有 1 的一端的 ID。

set集合下面的batch-size:   作用: 一次初始化 1 的这一段代理对象的个数

举例:Student<——>Teacher双向关联

teacher下就有有一个set集合属性,如果lazy设置为true表示在检索teacher的时候它会使用懒加载机制(即不会立即把set集合下面的学生属性给查出来),犯之亦然。

使用检索策略的宗旨

不浪费内存(即:只拿我们想要的数据)和提高查询效率(即:尽量少发HQL语句)

懒加载机制就是为我们实现这个宗旨的手段和策略。

Hibernate检索策略相关推荐

  1. (九)Hibernate 检索策略

    所有项目导入对应的hibernate的jar包.mysql的jar包和添加每次都需要用到的HibernateUtil.java 这里的hibernate.cfg.xml配置信息我就不再写了 第一节:检 ...

  2. Hibernate学习(八)———— Hibernate检索策略(类级别,关联级别,批量检索)详解...

    序言 很多看起来很难的东西其实并不难,关键是看自己是否花费了时间和精力去看,如果一个东西你能看得懂,同样的,别人也能看得懂,体现不出和别人的差距,所以当你觉得自己看了很多书或者学了很多东西的时候,你要 ...

  3. Hibernate检索策略之5.4一对多单向关联检索策略——Hibernate4究竟怎么玩

    今天开始讲一对多单向关联. 转载于:https://www.cnblogs.com/geyifan/archive/2012/09/13/2682669.html

  4. hibernate 插入 效率_Hibernate:检索策略的学习1

    概述 检索数据,也就是查询数据是在一个系统中必不可少的一个功能.检索数据时的2个问题: 不浪费内存:例如,Customer和Order是双向1-N的关系.当 Hibernate 从数据库中加载 Cus ...

  5. Hibernate之检索策略

    1.概述 检索数据时的2个问题: 不浪费内存:当Hibernate从数据库中加载Customer对象时,如果同时加载所有关联的Order对象,而程序仅仅需要访问Customer对象,那么关联的Orde ...

  6. Hibernate框架--学习笔记(下):hibernate的查询方式、多表查询、检索策略、批量抓取

    一.hibernate的查询方式: 主要有五种:对象导航查询:OID查询:hql查询:QBC查询:本地sql查询. 1.对象导航查询:根据id查询某个客户,再查询这个客户里面所有的联系人. 2.OID ...

  7. Hibernate的检索策略

    Hibernate的Session在加载一个Java对象时,可以将与这个对象相关联的其他Java对象都加载到缓存中,以便程序及时调用.但有些情况下,我们不需要加载太多无用的对象到缓存中,一来这样会撑爆 ...

  8. 10、Hibernate的对象检索策略

    - 立即检索策略 - 延迟检索策略 - 左外连接检索策略 - 每种检索策略的适用范围 - 在程序中显式指定左外连接检索策略 表字段之间的对应关系 1.运行Session的方法 List custome ...

  9. Hibernate的三种检索策略

    1 N+1问题 Hibernate的Session缓存中存放的是相互关联的对象图,默认情况下,当从数据库中加载一个对象的时候,会同时加载它所关联的其他对象.例如:Clazz(班级)跟Student(学 ...

  10. Hibernate检索1

    Hibernate 的关联关系,通过关联关系能够对数据库表进行简单的操作.在大多数应用中,查询属于最重要的部分,而目前我们只能使用get方法和 load方法进行简单的查询,本章将主要讲解Hiberna ...

最新文章

  1. python给图片添加字符
  2. replugin源码解析之replugin-plugin-gradle(插件的gradle插件)
  3. python读取math_怎么使用python安装math库?怎么用?
  4. linux安装mongodb(设置非root用户和开机启动)
  5. wacom mac驱动_MAC系统装Wacom手绘板的方法及注意事项
  6. 在C#中使用Google翻译API
  7. Microsoft.System.Center.Operations.Manager.2007 中文版完整光盘下载地址
  8. 前端重构实践(一) —— 性能优化
  9. 再这样下去,团队半年内就要散了。。
  10. C++使用Socks5协议进行代理上网(二)
  11. [Java]一个WiFi管理器(获取WiFi连接的网关的ip和信息)和热点管理器(获取连接本机的热点的设备的ip、MAC和信息)
  12. How to do Mathematics
  13. 【ACM】kuangbin基础数论专题
  14. EntityFramworkCore 配置种子数据(seeding data)
  15. 在面试中如何回答面试官的问题
  16. 卡迪夫大学计算机和信息技术管理研究方向,卡迪夫大学研究生GPA要求
  17. 在MATLAB上运行Python示例
  18. MySQL复制表结构表数据
  19. Dell_Inspiron_15-3567, 加装内存条, 更换固态硬盘
  20. 海苔和紫菜有什么区别?

热门文章

  1. 关于纯流量卡-物联网卡的一点个人看法
  2. 江湖高手专用的“隐身术”:图片隐写技术
  3. Unknown host 'dl.google.com'. You may need to adjust the proxy settings in Gradle.
  4. 720yun全景图+vue
  5. find函数的使用方法Matlab,matlab中find函数的使用说明——emily语法介绍
  6. 【防火墙流控配置 基于主机的带宽控制】
  7. java模拟选课_模拟学生选课系统的练习
  8. zlib访问方法(2022-11-16)
  9. helm charts 入门指南
  10. 泰坦尼克号——完美主义的杰作