天天看點

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