导入ehcache相关依赖
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-ehcache</artifactId>
<version>5.2.12.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-ehcache</artifactId>
<version>5.3.3.Final</version>
</dependency>
5.2 src添加ehcache.xml
hibernate.cfg.xml中添加二级缓存相关配置
<!-- 开启二级缓存 -->
<property name="hibernate.cache.use_second_level_cache">true</property>
<!-- 开启查询缓存 -->
<property name="hibernate.cache.use_query_cache">true</property>
<!-- EhCache驱动 -->
<property name="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory</property>
5.4 指定实体类开启二级缓存
<!-- 注解式开发 -->
<class-cache usage="read-write" class="entity.Dict"/>
<!-- xml配置方式 -->
<class table="t_sys_dict" name="entity.Dict">
<cache usage="read-write"/>
.......
</class>
注1:查全多条需要编写代码来开启二级缓存的(默认查找多个不会使用二级缓存,建议使用时添加一个字段控制是否使用二级缓存)
query.setCacheRegion("entity.Dict");//指定缓存策略,名字必须实体类的完整类名
query.setCacheable(true);//手动开启二级缓存