【Hibernate学习笔记】Hibernate的检索策略
来源:互联网 发布:淘宝购物券网站 编辑:程序博客网 时间:2024/06/10 00:39
<1> 立即检索
<2> 延迟检索
<3> 迫切左外连接检索
- 类级别的检索策略
load()方法默认为延迟检索,且lazy可设置为true或false;而get()方法和Query的list()方法会忽略<class>元素的lazy属性,不管lazy属性取什么值,这两个方法总是采用立即检索策略。
- 关联级别的检索策略
一对多关联、多对一关联默认为延迟检索;
一对一关联按照外键映射时,<many-to-one name="address" column="ADDRESS_ID" class="mypack3.Address" cascade="all"unique="true"/>元素中默认的还是延迟检索,<one-to-one name="customer" class="mypack3.Customer"property-ref="address" />元素中默认为迫切左外连接检索。
- 属性级别的检索策略
默认为立即检索。属性级别的延迟检索策略适用于二进制大对象、字符串大对象和大容量组件类型的属性。
1. lazy属性
类级别:<class>元素中lazy属性的可选值为:true(延迟检索)和false(立即检索)。
一对多关联级别:<set>元素中lazy属性的可选值为:true(延迟检索)、extra(增强延迟检索)和false(立即检索)。
多对一关联级别:<many-to-one>元素中lazy属性的可选值为:proxy(延迟检索)、no-proxy(无代理延迟检索)和false(立即检索)。
2. fetch属性
类级别:没有此属性。
一对多关联级别:取值为select(select查询语句)或subselect(带子查询的select语句)时,决定初始化orders集合时的查询语句的形式;如果取值为join(迫切左外连接检索),则决定orders集合别初始化的时机。默认为select。
多对一关联级别:<many-to-one>元素中fetch属性的可选值为:select(select查询语句)、join(迫切左外连接检索)。默认为select。
【注】HQL会忽略映射文件设置的迫切左外连接检索策略。
3. batch-size属性
设定批量检索的数量,合理的取值在3~10之间。
- 【Hibernate学习笔记】Hibernate的检索策略
- Hibernate学习笔记:检索策略
- hibernate学习笔记(检索策略)
- Hibernate学习笔记----检索策略
- Hibernate学习笔记 第五章 检索策略
- Hibernate的检索策略
- Hibernate的检索策略
- Hibernate的检索策略
- Hibernate的检索策略
- Hibernate的检索策略
- hibernate的检索策略
- Hibernate的检索策略
- Hibernate的检索策略
- Hibernate的检索策略
- Hibernate的检索策略
- Hibernate的检索策略
- Hibernate的检索策略
- 【Hibernate的检索策略】
- [计算机基础]ARM-Linux系统调用
- 背包问题
- 利用内存chunk充当数据buffer的泛型的双向队列的简单实现
- IDEA无法启动:Failed to create JVM:error code -4
- mysql 启动错误时的处理方法
- 【Hibernate学习笔记】Hibernate的检索策略
- NSString 字符串
- Android开源项目第三篇——优秀项目篇
- tomcatpluginv33 下载
- JM参数详解
- 层次短语模型学习笔记
- 25个增强iOS应用程序性能的提示和技巧
- 数论题
- spring 基础特性--转滴--比较通俗易懂