碎片化 | 第四阶段-57-hibernate二级缓存-视频

时间:2022-05-06
本文章向大家介绍碎片化 | 第四阶段-57-hibernate二级缓存-视频,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
视频内容

如清晰度低,可转PC网页观看高清版本:

http://v.qq.com/x/page/r0568x6d9yi.html

缓存

1:一级缓存(参考昨天笔记视频内容)

session独享
生命周期和session是同步的

2:二级缓存

session共享

生命周期,存放于服务器内存

它只存储一个对象,Object

开启二级缓存:

前提:

导包
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-ehcache</artifactId>
        <version>4.2.21.Final</version>
    </dependency>

1:增加配置文件ehcache.xml
    参考附件
2:修改hibernate.cfg.xml文件
     <!-- 开启二级缓存 -->
    <property name="hibernate.cache.use_sencond_level_cache">true</property>
    <property name="hibernate.cache.region.factory_class">
         org.hibernate.cache.ehcache.EhCacheRegionFactory
    </property>
3:在我们的结果集实体对象中,增加注解
    @Cache(usage=CacheConcurrencyStrategy.READ_ONLY)
    如果实体类中有关联映射关系,那么此时,关联表也需要增加
    @Cache(usage=CacheConcurrencyStrategy.READ_ONLY)

3:查询缓存

依赖于二级缓存(首先必须开启二级缓存)

存放的是一个结果集,Object[]Object

开启查询缓存:
 <!-- 开启查询缓存 -->
<property name="hibernate.cache.use_query_cache">true</property>

hibernateTemplate.setCacheQueries(true);//查询缓存