梦幻家居 梦幻家居 设为首页
收藏本站
关于本站

梦幻家居网站建设 → 在Spring + Hibernate中使用二级缓存配置步骤

您是本帖第351位阅读者     
贴子主题 
雪域幽狐


头衔: 社区理事长
梦幻币: 10470
经验值: 1736
信誉值: 296
文章: 119
回复: 438
注册: 3/31/2003 8:18:00 AM
短消息资料加为好友 发送邮件 鲜花(0)鸡蛋(0) 楼主

在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情况。



[此贴子已经被作者于3/4/2010 5:09:00 PM编辑过]


明天不一定会更好,但更好的明天一定会到来

发帖时间: 3/4/2010 5:08:00 PM
页次:1/1 本主题共1帖 每页20帖 [首页] [上一页][下一页] [尾页]
Copyright 2003-2008 NowFox.COM All Rights Reserved  梦幻家居©版权所有 版权信息
E-mail:webmaster@nowfox.com ICP备案序号:蜀ICP备05005961号
Powered By :NowFox.COM Version 2.7.0