Hibernate二级缓存最常用的第三方插件是EHCache。下面讲解如何配置与使用EHCache。
1.在Hibernate.cfg.xml文件中使用property标签,具体代码如下:
<property name="cache.provider_class"><!-- 指定二级缓存驱动 -->
org.hibernate.cache.EhCacheProvider
</property>
<property name="cache.use_second_level_cache">true</property><!-- 启用二级缓存 -->
2.配置缓存自身的配置文件ehcache.xml文件:
<ehcache>
<diskStore path="d:\\temp"/><!-- 指定二级缓存的存放路径 -->
<!--maxElementsInMemory指定内存中最多存放的对象数
eternal指定对象是否永久存放到硬盘
timeToIdleSeconds指定缓存数据钝化时间
timeToLiveSeconds指定缓存数据生存时间
overflowToDisk指定内存满了是否将数据写到硬盘
-->
<!-- 默认配置-->
<defaultCache
maxElementsInMemory="10000"
eternal="false"
timeToIdleSeconds="120"
timeToLiveSeconds="120"
overflowToDisk="true"
/>
<!-- 自定义配置-->
<cache name="com.panlei.hibernate.Student"
maxElementsInMemory="500"
eternal="false"
timeToIdleSeconds="300"
timeToLiveSeconds="600"
overflowToDisk="true"
/>
</ehcache>
3.在对应的类映射文件hbm配置文件中加入cache标签,并指定并发策略,如下所示:
<cache usage="read-only"/>
如果只对操作表实现并发访问,那么在<class>标签下使用<cache>标签配置并发访
问策略;如果需要在当前表关联的其他表中使用并发访问策略,那么在<set>标签内
也要配置<cache>。