Hibernate缓存、对象状态

Hibernate缓存、对象状态

ID:45156221

大小:692.00 KB

页数:32页

时间:2019-11-10

Hibernate缓存、对象状态_第1页
Hibernate缓存、对象状态_第2页
Hibernate缓存、对象状态_第3页
Hibernate缓存、对象状态_第4页
Hibernate缓存、对象状态_第5页
资源描述:

《Hibernate缓存、对象状态》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第四章Hibernate缓存、对象状态回顾HQL的全称是?和SQL相比,HQL有哪些特点?HQL语句为:selectjd.jdid,jd.jdfromTblJdjd。怎样获得并显示查询结果?使用'?'做占位符的参数查询,怎样设置参数的值?命名参数查询的语法是?怎样创建Criteria查询对象?预习检查Hibernate有几种缓存机制?Hibernate的几种缓存机制各是什么?理解Hibrnate的缓存机制理解对象的状态本章目标Hibernate的缓存分为:一级缓存,单个会话的对象缓存。二级缓存,可插拔的缓存插件Hibernate

2、的缓存当Session加载或保存一个对象时,如果Session的缓存中不存在相应的对象,hibernate就会把该对象加入到一级缓存中。当再次通过Session加载相同OID的对象时,Hibernate将直接从Session的缓存中获取。当Session关闭时,缓存将被清空。//第一次加载时将产生SQL访问数据库Customercusa=(Customer)session.get(Customer.class,1l);//第二次加载同样的Customer时Hibernate将从Session中获取Customercusb=(Cu

3、stomer)session.get(Customer.class,1l);//cusa和cusb应当是同一对象If(cusa==cusb)System.out.println(“同一个对象!”);//缓存被清空session.close();理解Session缓存减少访问数据库的频率。应用程序从内存中获取对象明显快于从数据库中查找。保证缓存中的对象与数据库相关的记录同步。当处于缓存中的对象的属性发生改变时,Session不会立即更新数据库,它可以将多次更新合并处理后产生一条更新语句。Customercustomer=(Cust

4、omer)session.get(Customer.class,1);customer.setName("jack");customer.setName("mike");session.update(customer);//以上只会产生一条sql语句。updateCustomersetname='mike'...Session缓存的作用Hibernate会在特定的时间自动同步缓存与数据库当人为提交事务时,commit()方法先清理缓存,然后再向数据库提交事务。当执行session的查询方法时,如果缓存中持久化对象的属性发生了变化

5、,就会先清理缓存,以保证查询结果能反映持久化对象的最新状态。当执行session.flush时注意:关闭Session时,Hibernate不会执行缓存同步。同步Session缓存evict(Objecto):从缓存中清除指定的对象clear():清空缓存中的所有对象管理一级缓存二级缓存是一个可以插拔的缓存插件,它由SessionFactory负责管理,由于SessionFactory对象的生命周期和应用程序的生命周期对应,因此二级缓存是进程范围或群集范围的缓存。缓存中存放的是对象的散装数据而不是对对象的引用。可以被一个Sess

6、ionFactory的所有sesison共享二级缓存是可选的,可以在每个类或每个集合的粒度上配置二级缓存。Hibernate二级缓存应用程序一级缓存(事务范围内的Session缓存)二级缓存(进程范围或群集范围的缓存)数据库写读写读如果在事务范围的缓存(第1级缓存)中没有查询到相应的数据,还可以到进程范围或群集范围的缓存(第2级缓存)内查询,如果在进程范围或群集范围的缓存内也没有找到该数据,那么就只好查询数据库。写读Hibernate二级缓存的执行机制二级缓存是可配置的插件,Hibernate允许选用以下类型的缓存插件EHCac

7、heOSCacheSwarmCacheJBossCache这些插件都是由第三方提供的。Hibernate2以前提倡用EHCacheHibernate3后提倡用OSCacheHibernate二级缓存的第三方实现把oscache-2.1.jar加入到当前应用的classpath中。修改hibernate.cfg.xml文件开启二级缓存。

8、cache">trueorg.hibernate.cache.OSCacheProvider

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。