Hibernate_优化与事务
来源:互联网 发布:淘宝店怎么设置包邮 编辑:程序博客网 时间:2024/06/06 04:18
- 延迟加载
- 实体级别的延迟加载
- 集合关联属性的延迟加载
- 抓取策略
- 缓存机制
- 事务简介
- 乐观锁与悲观锁
- 延迟加载
延迟加载
- 什么是延迟加载?
延迟加载机制是为了避免一些无谓的性能开销而提出来的,所谓延迟加载就是当在真正需要数据的时候,才真正执行数据加载操作。 - Hibernate中对如下内容提供了延迟加载策略
- 实体对象的延迟加载
< class >标签中定义lazy属性:true和false可选 - 集合类型的延迟加载
< set >、< list >集合属性中定义lazy属性:true、false和extra可选 - 单端延迟加载
< many-to-one >和< one-to-one >定义lazy属性:false、proxy和noproxy - 普通属性延迟加载
< property >定义lazy属性:false和true可选,但是需要类增强
- 实体对象的延迟加载
实体级别的延迟加载
- 实体级别的延迟加载需在映射文件的中进行配置lazy属性
<!-- 配置实体级别的延迟加载 --><class name="Employee" table="emp" lazy="true">
- 实体级别的延迟加载lazy属性值有true和false可选,默认值true
- 通过代理(javassit)机制Hibernate实现了实体级别的延迟加载
- 实体级别的延迟加载只对Session的load()方法有效,当lazy为true时,执行load()方 - 法会延迟加载对应的实体对象,只有访问实体对象的非主键属性时才执行SQL查询语句,从数据库中获取对应的数据。
@Testpublic void testClassLazyTrue(){ Employee emp = (Employee) session.load(Employee.class,9000); //获取非主键属性时,会从一级缓存获取该实体,如果缓存中无该对象,则发送SQL进行查询 System.out.println(emp.getEname());}
集合关联属性的延迟加载
- 集合关联属性的延迟加载
- 在Hibernate的延迟加载机制中,针对集合类型的应用,意义是最为重大
- 集合关联属性的延迟加载可以大大使Hibernate性能得到的提高
- 为实现集合的延迟加载Hibernate提供JDK中集合框架的独立实现,例如在一对多的关联关系中使用Set集合并不是JDK中的HashSet类型,而是Hibernate独立实现的PersistentSet。
- 通过使用自定义集合类的实现,Hibernate实现了集合类型的延迟加载。
- 集合关联属性延迟加载配置
未完待续
抓取策略
缓存机制
事务简介
乐观锁与悲观锁
阅读全文
0 0
- Hibernate_优化与事务
- Hibernate_配置环境_HQL_事务
- Hibernate_操作对象_Session中的refresh()方法与修改事务隔离级别详解
- hibernate的优化与事务
- Spring/Hibernate_应用性能优化的7种方法
- hibernate_关于fetch的lazy与eager的说明
- hibernate_基础加强表与表的关系
- 数据库事务隔离级别与索引的优化
- Spring data jpa 的事务与缓存优化
- 事务与分布式事务
- Hibernate_@注解
- Hibernate_笔记
- hibernate_简介
- JDBC事务优化
- JDBC事务优化
- JDBC事务优化
- 事务与锁定-命名事务
- 事务与锁定-提交事务
- 解决虚拟机下的ubuntu不能上网的问题
- CONFIG_NO_HZ (aka dynamic tick functionality)
- Zookeeper 配置
- 判素数(Prime number)
- PHP使用mcrypt进行AES加密后的数据NodeJS等无法解密的问题修复方案
- Hibernate_优化与事务
- Linux查看文件夹大小
- Anguler2框架
- 【最小费用流】POJ
- 【HDU5378】Leader in Tree Land-概率DP+逆元+好题
- 汉诺塔(hanoi)详解
- 基于 TensorFlow 在手机端实现文档检测
- 大数据学习,涉及的知识点
- 《深度学习Ng》课程学习笔记02week3——超参数调试、Batch正则化和程序框架