<p>关于二级缓存</p>
<p>1,hibernate并没有实现二级缓存,而是使用第三方的二级缓存机制,因此要是用二级缓存必须配置</p>
<p> cache.use_second_level_cache为true。把二级缓存打开。</p>
<p>2,第二步,要把使用的cache提供者表明。</p>
<p> 例如,设置cache.provider_class为org.hibernate.cache.osCacheProvider</p>
<p> 注意osCache包必须导入到路径中</p>
<p>3,以上的步骤是告诉hibernate使用哪一个二级缓存,并且可以在oscache包中进一步配置二级缓存的大 小。但是这还不够,还需要进一步告诉hibernate,哪些类需要使用二级缓存。</p>
<p> 例如:<class-cache class="com.lv.huiqing.User" usage="read-only"></class-cache></p>
<p> usage是使用策略,共有四个值:</p>
<p> read-only:效率最高,但是这个类永远不能修改,修改的话会出异常</p>
<p> read-write:可以保障同步操作的正确性</p>
<p>nonstrict-read-write:不严格的读写</p>
<p> transactional:比较少用,可以支持回滚缓存里面的数据,很少有二级缓存支持此类型。os不支持</p>
<p>1,hibernate并没有实现二级缓存,而是使用第三方的二级缓存机制,因此要是用二级缓存必须配置</p>
<p> cache.use_second_level_cache为true。把二级缓存打开。</p>
<p>2,第二步,要把使用的cache提供者表明。</p>
<p> 例如,设置cache.provider_class为org.hibernate.cache.osCacheProvider</p>
<p> 注意osCache包必须导入到路径中</p>
<p>3,以上的步骤是告诉hibernate使用哪一个二级缓存,并且可以在oscache包中进一步配置二级缓存的大 小。但是这还不够,还需要进一步告诉hibernate,哪些类需要使用二级缓存。</p>
<p> 例如:<class-cache class="com.lv.huiqing.User" usage="read-only"></class-cache></p>
<p> usage是使用策略,共有四个值:</p>
<p> read-only:效率最高,但是这个类永远不能修改,修改的话会出异常</p>
<p> read-write:可以保障同步操作的正确性</p>
<p>nonstrict-read-write:不严格的读写</p>
<p> transactional:比较少用,可以支持回滚缓存里面的数据,很少有二级缓存支持此类型。os不支持</p>