在Hibernate5.x里使用二级缓存和查询缓存的时候先倒入jar包在hibernate的lib里边可以找到
然后再hibernate.cfg.xml配置文件里写
<!-- 二级缓存 -->
<property name="cache.use_second_level_cache">true</property>
<!-- 这里使用的事EH缓存 -->
<property name="cache.region.factory_class">org.hibernate.cache.EhCacheRegionFactory</property>
<!-- 打开查询缓存 , 使用查询缓存必须先开启二级缓存-->
<property name="cache.use_query_cache">true</property>
其次再hibernate的项目里边找到ehcache.xml放到hibernate.cfg.xml一个目录下即可。
接着在需要加入二级缓存类的里边写入 @Cache(usage=CacheConcurrencyStrategy.READ_ONLY, region="defaultCache")
@Entity@Cache(usage=CacheConcurrencyStrategy.READ_ONLY, region="defaultCache")@Table(name="t_GroupWork")public class GroupWork implements Serializable{ private static final long serialVersionUID = 1L; private String groupID; private String groupName;
这里需要说明的是在hibernate5.x里边我如果不写region="xxxx"就一直报错,不知道什么原因。region的值其实就是ehcache.xml里边cache的名字,让你指定使用哪种缓存策略。