(精品)韩顺平hibernate第5讲.ppt
《(精品)韩顺平hibernate第5讲.ppt》由会员分享,可在线阅读,更多相关《(精品)韩顺平hibernate第5讲.ppt(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、主讲 韩顺平主讲:韩顺平email:hibernate从入门到精通hibernte 第第5讲讲主讲 韩顺平hibernate 缓存和加强缓存和加强1.懒加载 2.缓存(一级缓存(session缓存)二级缓存(sessionfactory)3.主键生成策略4.Hibernate不适合的场景 hibernate从入门到精通懒加载懒加载主讲 韩顺平 懒加载的概念懒加载(Load On Demand)是一种独特而又强大的数据获取方法,是指程序推迟访问数据库,这样做可以保证有时候不必要的访问数据库,因为访问一次数据库是比较耗时的。hibernate从入门到精通懒加载懒加载主讲 韩顺平 懒加载几种情况(方
2、式)首先我们要明确一点 Domain Object 是非final的,才能实现懒加载。解决懒加载的方法:1.明确初始化在session还没有关闭时,访问一次 xxx.getXxx(),强制访问数据库。或者 Hibernate.initialize(xxx)2.openSessionView 面试/spring-校内网 这个往往需要过滤器配合使用(web程序)。3.在ssh中,可以实现在service层,标注方式解决懒加载.4.在对象映射文件中配置,lazy=“false”hibernate从入门到精通缓存缓存主讲 韩顺平缓存的作用主要用来提高性能,可以简单的理解成一个Map;使用缓存涉及到三个
3、操作:把数据放入缓存、从缓存中获取数据、删除缓存中的无效数据。一级缓存,Session级共享。save,update,saveOrUpdate,load,get,list,iterate,lock这些方法都会将对象放在一级缓存中,一级缓存不能控制缓存的数量,所以要注意大批量操作数据时可能造成内存溢出;可以用evict,clear方法清除缓存中的内容。二级缓存,SessionFacotry级共享一级缓存案例:用DepartmentEmployee 为例来分析用hashmap来模拟缓存实现的机制(深入了解)hibernate从入门到精通二级缓存二级缓存-sessionfactory级缓存级缓存主讲
4、 韩顺平n hibernate二级缓存插件(组件)一览图hibernate从入门到精通二级缓存二级缓存-sessionfactory级缓存级缓存主讲 韩顺平l应用OsCache作为二级缓存步骤-配置步骤-拷贝一个oscache.propertis配置文件,可以使用参考文档,这里我们可以对各个属性值作一个说明:hibernate从入门到精通二级缓存二级缓存-sessionfactory级缓存级缓存主讲 韩顺平n应用OsCache作为二级缓存步骤-在*.hbm.xml文件中加入使用二级缓存的策略也可以直接在hibernate.cfg.xml配置:hibernate二级缓存策略 只读缓存(read-
5、only)读写缓存(read-write)银行,财务软件 不严格读写缓存(nonstrict-read-write)bbs 被浏览多少次 事务缓存(transactional)n统计信息打开generate_statistics,用sessionFactory.getSatistics()获取统计信息。hibernate从入门到精通主键增长策略主键增长策略主讲 韩顺平hibernate标示符生成器标示符生成器(策略策略)increment indentitysequence hilonative assigneduuid foreignhibernate从入门到精通主键增长策略主键增长策略-h
6、ibernate对象标识符对象标识符主讲 韩顺平 什么是对象标识符什么是对象标识符(OID object id)(OID object id)Hibernate Hibernate 中的持久化对象对应数据库中的一张数据表,因中的持久化对象对应数据库中的一张数据表,因此区分不同的持久化对象,在此区分不同的持久化对象,在HibernateHibernate中是通过中是通过OID(OID(对象标识符对象标识符)来来完成的,从表的角度看完成的,从表的角度看,OID,OID对应表的主键。从类的角度看对应表的主键。从类的角度看OIDOID对应类对应类的主键属性的主键属性.如图如图:建表建表举例说明举例说明
7、主键属性主键属性其它属性其它属性.主键主键其它属性其它属性1 1其它属性其它属性2 21000010000小明小明2323岁岁1000110001大明大明4545岁岁hibernate从入门到精通主键增长策略主键增长策略-hibernate对象标识符对象标识符主讲 韩顺平 对象标识符生成方法对象标识符生成方法 HibernateHibernate中的主要对象标识生成策略很多,我这里主要介绍中的主要对象标识生成策略很多,我这里主要介绍8 8种标识种标识符生成方法,其中包括符生成方法,其中包括7 7种标识符生成器和一种复合主键生成方式。种标识符生成器和一种复合主键生成方式。incrementinc
8、rement标识符生成器标识符生成器由由HibernateHibernate自动以递增方式生成标识符,每次增量为自动以递增方式生成标识符,每次增量为1 1。优点:不依赖于底层数据库系统,适用于所有的数据库系统。优点:不依赖于底层数据库系统,适用于所有的数据库系统。缺点:适用于单进程环境下,在多线程环境下很可能生成相同主键值缺点:适用于单进程环境下,在多线程环境下很可能生成相同主键值,而且,而且OIDOID必须为数值类型必须为数值类型,比如比如long,int,shortlong,int,short类型类型配置方式配置方式:hibernate从入门到精通主键增长策略主键增长策略-hibernat
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 顺平 hibernate
限制150内