IT懒猫

成功是一个一个步子漫出来的。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

hibernate二级缓存的作用?怎样使用二级缓存?

Posted on 2014-03-06 16:51  IT懒猫  阅读(319)  评论(0编辑  收藏  举报

作用:  

  hibernate二级缓存中的缓存对象可以被整个应用的Session对象共享,即使关闭当前Session对象,新建的Session对象仍可使用。使用Hibernate的二级缓存之后查询数据,Session对象会首先在以及缓存中查找有无缓存数据被命中。如果没有,则查找二级缓存。如果有,则直接返回所命中的数据;否则查询数据库。

  避免了数据库调用性能的开销,提高了效率

 

使用:

  需要使用第三方缓存组件

  以EHcache.Hibernate为例:

  第一步是配置hibernate.cfg.xml,添加:<property name="cache.provider_class">org.hibernate.cache.EhCacheProvider</property>
                     <property name="hibernate.cache.use_query_cache">true</property>

  第二步是在需要缓存的类的映射文件中添加:<cache usage="read-only"/> 

  第三步,在代码中激活二级缓存,例如:query.setCacheable(true);//激活查询缓存  

注:

  第二步中有四个取值:1.read-only  2.nonstrict-read-write  3.read-write   4.transactional