问题描述
我的一个小项目里面设置了二级缓存,并把缓存溢出的磁盘放在D盘里面,当我把缓存的最大存放量设为一的时候,在D盘可以看到有,缓存的记录,但是等我再去取值的时候,怎么还是从数据库里面拿 啊 ??? 问题补充:alyouge 写道
解决方案
说的不详细,一下几点需要注意!1. 要在spring配置文件加入Java代码 <prop key="hibernate.cache.use_second_level_cache">true</prop> <prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop> <prop key="hibernate.cache.use_query_cache">true</prop> 2. 要在 实体的hbm.xml里面加入Java代码 <cache usage="read-write"/> 要加到CLASS标签里面。3. 如果要使用查询缓存<prop key="hibernate.cache.use_query_cache">true</prop> 是必要的,当然还有query.setCacheable(true)。
时间: 2024-11-02 05:43:21