在Spring + Hibernate中使用二级缓存配置步骤

在SSH中用二级缓存大概分以下几步:

1、首先在hbm文件里对涉及到的对象设置缓存方式,或根据情况设置自己需要的


2、在ehcache的配置文件里配置一个cache,name为这个类名


3、在applicationContext.xml的hibernate配置里
hibernate.cache.use_query_cache=true
hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider
hibernate.cache.provider_configuration_file_resource_path=/ehcache-hibernate.xml


4、接下来就可以使用了

在getHibernateTemplate().find(hql)
之前要设置下
getHibernateTemplate().setCacheQueries(true);
getHibernateTemplate().setQueryCacheRegion("XXXXX");//这行可省略
在之后即查询完毕后
getHibernateTemplate().setCacheQueries(false);
如果使用了setQueryCacheRegion,那还需要在配置文件里添加对应的cache配置,如果不配置,默认使用StandardQueryCache
注意:setCacheQueries方法,If this is "true", all Query and Criteria objects created by this template will be marked as cacheable (including all queries through find methods).
因此建议查询完毕后,在返回结果前需要setCacheQueries(false);
通过getHibernateTemplate().find(hql)方式,不会出现N+1情况。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值