首页 > 代码库 > hibernate二级缓存配置

hibernate二级缓存配置

  1. 工程导入commons-logging.jar|ehcache.jar


  2. 在hibernate.cfg.xml中设置:添加2个属性: 
        
    <!--二级缓存 -->
    <property name="cache.use_second_level_cache">true</property>
    <property name="cache.provider_class">
    org.hibernate.cache.EhCacheProvider
    </property>
  3. 在hibernate完整jar包文件中的/project/etc/ehcache.xml ,把它放到工程src目录下,进行具体的缓存设置
  4. 在实体类注解或实体映射文件中配置:                                                     <class name="org.java02.entity.User" table="USER_SMBMS">
    		<cache usage="read-only"/><!-- 加入缓存 -->
    		<id name="userid" column="USERID" type="java.lang.Integer">。……              <set name="house">
    		<cache usage="read-only"/><!-- 关联映射加入缓存 -->
    		
  5. 	注解:@cache(...)	



二级缓存的并发访问策略:

    read-only: 只读型,缓存不更新,适用于不发生改变的

    数 据,效率最高,事务隔离级别最低

    nonstrict-read-write: 不严格读写型,缓存不定期更新,

    适用于变化频率低的数据,对于极少被修改,并 且

    允许偶尔脏读的数据,可以采用这种并发访问策略

    read-write: 读写型,缓存在数据变化时触发更新,适于

    经常被读但很少修改的数据,可以防止脏读

    Transactional: 支持事务,效率最低,事务隔离级别最

    高,可以防止脏读和不可重复读


hibernate一级缓存,数据只能在一个会话(一个用户)使用,二级缓存使数据可以共享。


hibernate二级缓存配置