- 2
- 0
- 约2.31千字
- 约 24页
- 2017-08-23 发布于河南
- 举报
Hibernate高级应用 Hibernate性能优化 1.DB设计 2.API的正确使用 3.主配置参数 4.映射文件优化 5.一级缓存的管理 6.二级缓存的管理 7.事务控制策略 Hibernate数据缓存 (1)数据缓存概述 在特定硬件基础上,缓存往往是提升系统性能的关键因素。 对于ORM而言,缓存更为重要。 良好的缓存管理机制以及合理的缓存应用模式往往是性能提升的关键。 (2)数据缓存策略 ORM的数据缓存包含如下层次: 事务级缓存:在当前事务范围内的数据缓存策略。 应用级缓存:在某个应用中,或者应用中某个独立数据访问子集中的共享缓存。 分布式缓存:在多个应用实例,多个JVM之间共享的缓存模式。 (3)Hibernate数据缓存 Hibernate的数据缓存分为两个层次: 内部缓存(也称为一级缓存) 二级缓存 Hibernate中缓存在以下情况中发挥作用: 通过id(主键)加载数据时 延迟加载 一级缓存 如果要同步很大数量的对象,就需要有效地管理Cache. 在保存50000个或更多对象时,程序可能抛出OutOfMemoryException异常,因为Hibernate在一级Cache缓存了新加入数据库的所有对象。要解决这个问题,首先把JDBC批处理数量设置为一个合理的数值(一般是10~20)。 在Hibernate.cfg.xml中设置如下: property name=“hibernate.jdbc.batch_size” 20/property 然后在一定时刻提交更改并清空Session的Cache: 二级缓存 二级Cache是SessionFactory范围内的缓存,所有的Session共享同一个二级Cache。 在引入二级缓存时必须考虑以下两个问题: DB是否与其他应用共享 应用是否需要部署在集群环境中 二级缓存 如果数据满足以下条件,则可以纳入缓存管理: 数据不会被第三方应用更改 数据大小在可接受的范围内 数据更新频率较低 同一数据可能会被系统频繁利用 非关键数据 二级缓存 不适合放入缓存的数据: 经常被修改的数据。 财务数据,绝对不允许出现并发。 与其他应用共享的数据 Hibernate中本身并未提供二级缓存的产品化实现,而是通过第三方缓存组件提供了接入接口。 Hibernate第三方缓存实现 Hibernat中提供的面向第三方缓存实现的接口: EhCache OpenSymphony OSCache SwarmCache JBossCache 在Hibernate中使用EhCache EhCache是一个纯Java程序,可以在Hibernate中作为一个插件引入。它具有运行快、结构简单、占用内存小、依赖性小、支持多CPU服务器和文档齐全的特点。 在Hibernate中使用EhCache,需要在hibernate.cfg.xml中设置如下: 在Hibernate中使用EhCache EhCachcProvider类位于Hibernate3.jar包中,而不是位于ehcache-1.1.jar包中。EhCache有自己的配置文档,名为ehcache.xml。 在Hibernate中使用EhCache 此外,还需要在持久化类的映射文件中进行配置。 在Hibernate中使用EhCache 如果希望把整个Student的散装属性都加入到二级缓存中还需要在Student.hbm.xml文件的class标记中加入cache子标记,如下面代码所示: 缓存同步策略 缓存同步策略决定了数据对象在缓存中的存取规则。Hibernate提供4种内置的缓存同步策略: 事务(transactional) 读写(read-write) 非严格读写(nonstrict-read-write) 只读(read-only) Hibernate事务 1、事务控制 (1)事务的特性 事务是一步或几步操作组成的逻辑执行单元。 事务具备4个特性: 原子性 一致性 隔离性 持续性 (2)Hibernate的事务 Hibernate直接使用JDBC连接和JTA资源,不添加任何附加锁定行为 。 数据库操作的不确定情况: 脏数据 不可重复读取 虚读 在Hibernate配置文件中设置隔离级别 JDBC连接数据库使用的是默认隔离级别,即可重读Repeatable Read)。在Hibernate的配置文件中,可以修改隔离级别: 1:读操作未提交(Read UncOmm
您可能关注的文档
- 16第十六讲JDBC基础.ppt
- 18.淘宝终极营销教程.ppt
- 18第十八讲 JDBC数据库操作技术.ppt
- 19 20 打开刷新搜索网页.ppt
- 1转变增长方式创新发展理念推进十二五产业用纤维优化发展.ppt
- 2 JAVA基础.ppt
- 2 如何更好地优化网站.ppt
- 2 等式约束最优化问题的最优性条件.ppt
- 2-优化抗菌治疗:概念和意义.ppt
- 2-搜索引擎的使用知识与技巧.ppt
- 2025年版汽车趋势报告 The 2025 EPA Automotive Trends Report.docx
- 2026年边缘计算开源平台EdgeX Foundry入门与二次开发.docx
- 2026年超声内镜放大内镜早癌诊断AI辅助识别系统临床评价.docx
- 2026年报废汽车回收与再制造逆向物流体系.docx
- 2026年产品碳足迹核算方法学:从摇篮到大门与从摇篮到坟墓.docx
- 2026年城乡要素平等交换双向流动政策创新试点申报材料.docx
- 2026年超导半导体接口电路架构与电平转换驱动器设计.docx
- 2026年财政贴息不再以再贷款支持为前提后的风险防范与合规要点.docx
- 2026年不动产信托登记试点政策对遗嘱信托支持.docx
- 2026年城乡有机废弃物协同处理技术方案.docx
最近下载
- 2021版劳动实践河北科学技术出版社一年级下册全册教案.doc
- 2025年甘肃省平凉市崇信县新窑镇招聘大学生村文书笔试试题附答案解析.docx VIP
- 山西单招古诗题库及答案.doc VIP
- 07K103-2 防排烟系统设备及附件选用及安装.docx VIP
- 《运动损伤与康复》王国祥 7第七章 手腕部运动损伤与康复.ppt VIP
- 化工厂预防火灾.pptx VIP
- 06K301-1 空气-空气能量回收装置选用与安装(新风换气机部分).docx VIP
- 坑槽箱式支护施工方案.docx VIP
- 第十二章 玻璃体病 .ppt VIP
- DB37_T 4919-2025 钢桥面超高性能混凝土铺装技术规范.pdf VIP
原创力文档

文档评论(0)