- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
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年中化集团方舟生招聘笔试备考题库(带答案详解).pdf
- 2025年中建西南设计院招聘笔试备考题库(带答案详解).pdf
- 2025年南通市慈善总会招聘笔试备考题库(带答案详解).pdf
- 2025年江西网吉安分站招聘笔试备考题库(带答案详解).pdf
- 2025年山西三晋都市报招聘笔试备考题库(带答案详解).pdf
- 2025年山西省高河能源招聘笔试备考题库(带答案详解).pdf
- 2024年贵州省毕节地区大方县大水乡招聘社区工作者真题含答案详解.docx
- 2024年贵州省贵阳市开阳县永温乡招聘社区工作者真题及答案详解1套.docx
- 2024年贵州省贵阳市南明区新华路街道招聘社区工作者真题及答案详解1套.docx
- 2024年贵州省遵义市仁怀市长岗镇招聘社区工作者真题及参考答案详解.docx
最近下载
- 2025年太仓市太訸控股集团有限公司第二批公开招聘19人笔试备考题库及答案解析.docx VIP
- 《食管癌综合治疗新进展》课件.ppt VIP
- 商铺租赁合同电子版下载打印.docx VIP
- 2025年太仓市太訸控股集团有限公司第二批公开招聘19人笔试参考题库附答案解析.docx VIP
- 2025年太仓市太訸控股集团有限公司第二批公开招聘19人备考题库及答案解析.docx VIP
- 《危重患者的抢救》课件.ppt VIP
- 孕产妇心肺复苏要点课件.pptx VIP
- 农村小学中高年级学生阅读兴趣培养策略研究-课题申请评审书.docx VIP
- 工程制图制图基础.ppt VIP
- 简约产品订货合同模板.docx VIP
文档评论(0)