Hibernate二级缓存详解

hibernate 中提供了俩种级别的Cache

     1.一级缓存 -->是session级别的,属于事务级别的范围,它由hibernate管理,一般情况下无需进行干涉.

     2.二级缓存-->是sessionFactory级别的,它是属于进程范围或群集范围的缓存。这一级别的缓存可以进行配置和更改,并且可以动态加载和卸载。 Hibernate还为查询结果提供了一个查询缓存,它依赖于第二级缓存.

那到底什么样的数据适合放在二级缓存里面呢?

1.很少被修改的数据
2.不是很重要的数据,允许出现偶尔并发的数据
3.不会被并发访问的数据
4.参考数据,指的是供应用参考的常量数据,它的实例数目有限,它的实例会被许多其他类的实例引用,实例极    少或者从来不会被修改。
那不适合存放到第二级缓存的数据有哪些?
1.经常被修改的数据
2.财务数据,绝对不允许出现并发
3.与其他应用共享的数据

二级缓存需要配置那些东西?

1.导入jar包(文件在hibernate-release-5.2.10.Final\lib\optional\ehcache)

2.在hibernate.cfg.xml文件配置一下代码

Hibernate二级缓存详解

3.Car.hbm.xml 关联表的映射xml中配置 二级缓存

Hibernate二级缓存详解

然后textdemo测试 二级缓存

Hibernate二级缓存详解

运行结果:

Hibernate二级缓存详解

很显然 session1 进行查询没有调用查询语句进行查询而是调用二级缓存里面的数据取出数据.