码迷,mamicode.com
首页 > Web开发 > 详细

hibernate缓存说明

时间:2016-01-06 15:54:37      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:

hibernate缓存说明:
1.一级缓存(session级别缓存)
     一级缓存,不是用来提升性能,是用来处理事务的
2.二级缓存(sessionFactory级别缓存):
     二级缓存,对所有的session都有效,生命周期与sessionFactory相同,在项目启动时创建,项目关闭时销毁,是为了提升性能
     hibernate查询策略:Hibernate有2中查询机制:
     2.1 session
          session.save() update() delete() get() load()
          session方式每次执行一条记录,默认不用配置就支持二级缓存,因此,read-only 对session是有效的。
          在session中如果hibernate.cfg.xml中配置了read-only,则update()和delete()会操作失败,save()、get()和load()操作成功。
     2.2 HQL
          HQL方式用来执行对条记录:list() executeUpdate()
          二级缓存配置read-only,对HQL默认是无效的
          注意:HQL中没有save方法
 
-----------------------------------配置二级缓存说明-----------------------------------------
首先,工程中加入ehcache-xxx.jar包

然后,在hibernate.cfg.xml中添加下面配置:
// -- 配置二级缓存提供商EhCache,此处并不是缓存的jar包,而是缓存jar包的索引属性 --
<!-- 配置二级缓存 提供商EhCache,此处并不是缓存的jar包,而是缓存jar包的索引属性 -->
        <property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property>
<!-- 配置哪些类支持缓存 -->
        <class-cache usage="read-only" class="com.ssh.shop.model.Product"/>
 

这样,在查询商品类的时候,刷新或者重新载入,都不会查询数据库,而是查询缓存

hibernate缓存说明

标签:

原文地址:http://www.cnblogs.com/yzlpersonal/p/5105592.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!