韩顺平hibernate第五讲.pptVIP

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
韩顺平hibernate第五讲

* 主讲 韩顺平 主讲:韩顺平 email:hanshunping@ hibernate从入门到精通 hibernte 第5讲 主讲 韩顺平 hibernate 缓存和加强 1. 懒加载 2. 缓存 (一级缓存(session缓存) 二级缓存(sessionfactory) 3. 主键生成策略 4. Hibernate不适合的场景 hibernate从入门到精通 懒加载 主讲 韩顺平 ■ 懒加载的概念 懒加载(Load On Demand)是一种独特而又强大的数据获取方法 , 是指程序推迟访问数据库,这样做可以保证有时候不必要的访问数 据库,因为访问一次数据库是比较耗时的。 hibernate从入门到精通 懒加载 主讲 韩顺平 ■ 懒加载几种情况(方式) 首先我们要明确一点 Domain Object 是非final的,才能实现懒加 载。解决懒加载的方法: 1. 明确初始化 在session还没有关闭时,访问一次 xxx.getXxx(),强制访问数据库。或者 Hibernate.initialize(xxx) 2. openSessionView [面试/spring-校内网] 这个往往需要过滤器配合使用(web程序)。 3. 在ssh中,可以实现在service层,标注方式解决懒加载. 4. 在对象映射文件中配置,lazy=“false” hibernate从入门到精通 缓存 主讲 韩顺平 缓存的作用主要用来提高性能,可以简单的理解成一个Map;使 用缓存涉及到三个操作:把数据放入缓存、从缓存中获取数据、 删除缓存中的无效数据。 一级缓存,Session级共享。 save,update,saveOrUpdate,load,get,list,iterate,lock这些方法都会将对象放在一级缓存中,一级缓存不能控制缓存的数量,所以要注意大批量操作数据时可能造成内存溢出;可以用evict,clear方法清除缓存中的内容。 二级缓存, SessionFacotry级共享 一级缓存案例: 用Department—Employee 为例来分析 用hashmap来模拟缓存实现的机制(深入了解) hibernate从入门到精通 二级缓存-sessionfactory级缓存 主讲 韩顺平 hibernate二级缓存插件(组件)一览图 hibernate从入门到精通 二级缓存-sessionfactory级缓存 主讲 韩顺平 应用OsCache作为二级缓存 ①步骤 -配置 ②步骤-拷贝一个pertis配置文件,可以使用参考文档,这里我们可以对各个属性值作一个说明: hibernate从入门到精通 二级缓存-sessionfactory级缓存 主讲 韩顺平 应用OsCache作为二级缓存 ③步骤-在*.hbm.xml文件中加入使用二级缓存的策略 cache usage=read-write/ 也可以直接在hibernate.cfg.xml配置: class-cache class=cn.hsp.domain.Users usage=read-only / hibernate二级缓存策略 ■ 只读缓存(read-only) ■ 读写缓存(read-write) [ 银行,财务软件] ■ 不严格读写缓存(nonstrict-read-write) [bbs 被浏览多少次] ■ 事务缓存(transactional) 统计信息打开generate_statistics,用sessionFactory.getSatistics()获取统计信息。 hibernate从入门到精通 主键增长策略 主讲 韩顺平 hibernate标示符生成器(策略) ①increment ②indentity ③sequence ④hilo ⑤native ⑥assigned ⑦uuid ⑧foreign hibernate从入门到精通 主键增长策略--hibernate对象标识符 主讲 韩顺平 ■ 什么是对象标识符(OID object id) Hibernate 中的持久化对象对应数据库中的一张数据表,因此区分不同的持久化对象,在Hibernate中是通过OID(对象标识符)来完成的,从表的角度看,OID对应表的主键。从类的角度看OID对应类的主键属性. 如图:建表举例说明 主键属性 其它属性 ... ... 45岁 大明 10001 23岁 小明 10000 其它属性2 其它属性1 主键 hibernate从入门到精通 主键增长策略--hibernate对象标识符 主讲 韩顺平 ■ 对象标识符生成方法 Hibernate中的主要对象标识生成策略很

文档评论(0)

shaoye348 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档