二級緩存配置如下:
<!-- 指定要使用的緩存的提供商,打開二級緩存-->
<property name="hibernate.cache.use_second_level_cache">
true
</property>
<property name="hibernate.cache.provider_class">
org.hibernate.cache.EhCacheProvider
</property>
<!-- 開啓使用查詢緩存 -->
<property name="cache.use_query_cache">true</property>
如果使用了org.hibernate.cache.EhCacheProvider緩存相關的類請先檢查項目所引用的庫包含哪些jar包
要使用二級緩存所需要使用的庫如下所示:
拋could not instantiate RegionFactory異常時本人引用的庫
如果是缺少方框內的jar包導致的異常,沒有時間後面的內容可以不看,後面內容主要分析出錯原因。
具體原因分析如下:
來看一下拋出的異常:
重點在方框裏
可以看出拋異常是因爲缺少所需要的類,按照提示是缺少了跟異常有關的jar包,因此需要在構建路徑裏添加ehcache-2.10.3.jar
導入ehcache-2.10.3.jar包還拋如下異常
java.lang.NoClassDefFoundError:org/apache/commons/logging/LogFactory
表明缺少了commons-logging-1...jar包導入該jar包便不會拋出此異常了
如果還出現如下異常
則需再把backport-util-concurrent.jar包添加到構建路徑便可以了