hibernate的缓存和快照 (转载)
来源:互联网 发布:单片机浇花系统 编辑:程序博客网 时间:2024/06/12 20:16
hibernate存在2个缓存
session的一级缓存
- 如果存在相同的OID,此时不再查询数据库,而是直接使用一级缓存中存在的对象
- 如果没有存在相同的OID,此时再查询数据库,将查询得到的结果数据再放置到session一级缓存中
目的:减少访问数据库的次数
session的快照
使用id进行查询数据库,将查询得到的结果放置到session一级缓存中,同时复制一份数据,放置到session的快照中
当使用tr.commit()的时候,同时清理session的一级缓存(flush)
当清理session一级缓存的时候,会使用OID判断一级缓存中对象和快照中的对象进行比对
- 如果2个对象(一级缓存的对象和快照的对象)中的属性发生变化,则执行update语句,此时更新数据库,更新成一级缓存中的数据
- 如果2个对象中的属性不发生变化,此时不执行update语句
目的:确保和数据库中的数据一致
Session二级缓存
其使用步骤大致如下:
1 拷贝ehcache-1.5.0.jar到当前工程的lib目录下
2 开启二级缓存
3 要指定缓存的供应商
4 指定使用二级缓存的类
选择需要使用二级缓存的持久化类, 设置它的二级缓存的并发访问策略, <class> 元素的 cache 子元素表明 Hibernate 会缓存对象的简单属性, 但不会缓存集合属性, 若希望缓存集合属性中的元素, 必须在 <set> 元素中加入 <cache> 子元素
方法二
5
hibernate中一级缓存、快照、二级缓存面试的时候问得比较多。
- hibernate的缓存和快照 (转载)
- 浅谈hibernate的缓存和快照
- 关于Hibernate一级缓存的快照问题
- session缓存和快照的区别
- Hibernate缓存机制之快照
- hibernate一级缓存与快照
- Hibernate缓存机制之快照
- Hibernate一级缓存-快照机制
- 快照和一级缓存
- hibernate缓存机制(转载)
- hibernate的快照更新
- hibernate 一级缓存、一级缓存快照区、二级缓存
- Hibernate学习笔记 -- day05 缓存、快照机制、对象状态
- 对位平面和帧缓存的理解(转载)
- 【转载】spring-data-jpa+hibernate 各种缓存的配置演示
- 禁止百度转码和百度快照缓存的META声明
- 【Hibernate】(3)Hibernate的缓存机制
- hibernate中的快照比对的机制
- Linux查看CPU和内存使用情况
- Primefaces: set page on datatable
- 生物信息学的基本课程学习
- perl模块安装
- FASTQ文件详解【转】
- hibernate的缓存和快照 (转载)
- 幻想在路上
- 改变世界的 17 个等式
- Loser应该知道的6个残酷人生事实
- 关于梦想与坚持-看海贼王写在开头
- BLAST中的E值的理解
- COG数据库介绍【转】
- Java GC 概念小结
- SAM格式说明