Hibernate的lazy策略
Hibernate的lazy策略可以使用在:
*<class>标签上,可以取值:true/false(只影响普通属性,不影响集合属性à集合上设置的还按集合上设置的lazy策略执行;不影响<manay-to-one>/<one-to-one>单端关联à<manay-to-one>/<one-to-one>单端关联标签上设置的还按照其设置的lazy策略执行)
*<property>标签上,可以取值:true/false (用的比较少,需要类增强工具,对字节码进行修改,如果某个属性时图片或是大文本可用)
*<set>\<list>标签上,可以取值:true/false/extra(建议集合上设置为extra,其余和true一样,只是在count 时true会把所有子类都加在到内存,再计算总数,而extra会智能地发一条count语句)
*<manay-to-one>/<one-to-one>单端关联标签上,可以取值,false/proxy/noproxy(需要增强工具)
lazy概念:只有真正需要对象的时候才会创建对象,对于hibernate而言,只有真正要使用的时候才会发出Sql语句 ,lazy的有效期就是session的有效期
Hibernate支持lazy策略只有在session打开状态下,为了保证Hibernate的lazy策略得以应用 提出了OpenSessionInView模式
在spring中 spring给我们实现了一个OpenSessionInViewFilter
JPA中也支持lazy策略,同样在spring中 spring给我们实现了一个org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter
<class>标签上的lazy策略不会影响到集合上的lazy特性,也不会影响到<many-to-one>
<one-one-one> 单端关联上的lazy, 它只会影响到一般属性。
分享到:
相关推荐
博文链接:https://llying.iteye.com/blog/221699
博文链接:https://llying.iteye.com/blog/221700
博文链接:https://llying.iteye.com/blog/221701
hibernate映射lazy策略hibernate查询语言hql
001 Hibernate 简介(开源 O/R 映射框架) 002 第一个 Hibernate 示例 003 hibernate 主要接口介绍 004 持久对象的生命周期介绍 005 query 接口初步 006 开源 O/R 映射框架内容回顾 ...029 hibernate 抓取策略
Hibernate环境搭建 Hibernate主要接口 Hibernate主要映射 Hibernate的lazy、fetch、cascade等策略 Hibernate性能优化
5.1.2 Hibernate访问持久化类属性的策略 5.1.3 在持久化类的访问方法中加入程序逻辑 5.1.4 设置派生属性 5.1.5 控制insert和update语句 5.2 处理SQL引用标识符 5.3 创建命名策略 5.4 设置数据库Schema...
hibernate的类级别检索策略和检索策略的lazy、fetch、batch-size属性使用
19.1.7. 使用延迟属性抓取(Using lazy property fetching) 19.2. 二级缓存(The Second Level Cache) 19.2.1. 缓存映射(Cache mappings) 19.2.2. 策略:只读缓存(Strategy: read only) 19.2.3. 策略:读/...
19.1.7. 使用延迟属性抓取(Using lazy property fetching) 19.2. 二级缓存(The Second Level Cache) 19.2.1. 缓存映射(Cache mappings) 19.2.2. 策略:只读缓存(Strategy: read only) 19.2.3. 策略:读/...
19.1.7. 使用延迟属性抓取(Using lazy property fetching) 19.2. 二级缓存(The Second Level Cache) 19.2.1. 缓存映射(Cache mappings) 19.2.2. 策略:只读缓存(Strategy: read only) 19.2.3. 策略:读/...
延迟初始化(延迟加载)(Lazy Initialization) 6.6. 集合排序(Sorted Collections) 6.7. 使用<idbag><br>6.8. 双向关联(Bidirectional Associations) 6.9. 三重关联(Ternary Associations) 6.10....
19.1.7. 使用延迟属性抓取(Using lazy property fetching) 19.2. 二级缓存(The Second Level Cache) 19.2.1. 缓存映射(Cache mappings) 19.2.2. 策略:只读缓存(Strategy: read only) 19.2.3. 策略:读/...
19.1.7. 使用延迟属性抓取(Using lazy property fetching) 19.2. 二级缓存(The Second Level Cache) 19.2.1. 缓存映射(Cache mappings) 19.2.2. 策略:只读缓存(Strategy: read only) 19.2.3. 策略:读/...
使用延迟属性抓取(Using lazy property fetching) 19.2. 二级缓存(The Second Level Cache) 19.2.1. 缓存映射(Cache mappings) 19.2.2. 策略:只读缓存(Strategy: read only) 19.2.3. 策略:读/写缓存...
* @GenericGenerator —— 注解声明了一个hibernate的主键生成策略。支持十三种策略。该注解有如下属性 * name 指定生成器名称 * strategy 指定具体生成器的类名(指定生成策略)。 * parameters 得到strategy指定的...
1. Hibernate入门 1.1. 前言 1.2. 第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class 1.2.2. 映射文件 1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第...
19.1.7. 使用延迟属性抓取(Using lazy property fetching) 19.2. 二级缓存(The Second Level Cache) 19.2.1. 缓存映射(Cache mappings) 19.2.2. 策略:只读缓存(Strategy: read only) 19.2.3. 策略:读/...
使用延迟属性抓取(Using lazy property fetching) 20.2. 二级缓存(The Second Level Cache) 20.2.1. 缓存映射(Cache mappings) 20.2.2. 策略:只读缓存(Strategy: read only) 20.2.3. 策略:读/写缓存...