The Ehcache second-level cache provider for Hibernate is deprecated
当我们使用hibernate-ehcache包(Ehcache 2)作为hibernate二级缓存时,系统会提示警告说已经过时了,那这时候找到spring boot推荐的新的二级缓存方案,现在推荐hibernate-jcache,可以与Ehcache 3或是其他实现了javax.cache.spi.CachingProvider的缓存自动集成
jcache是一种缓存门面规范,并不包含具体缓存实现,spring boot推荐与jcache搭配使用的是Hazelcast,Hazelcast实现了CachingProvider,可以直接作为hibernate二级缓存,Hazelcast实现下一篇再提供
hibernate二级缓存重构之后,要自己实现也非常简单,只需要实现
org.hibernate.cache.spi.support.RegionFactoryTemplate
org.hibernate.cache.spi.support.DomainDataStorageAccess
这两个类就可以了,引入caffeine包
<dependency>
<groupId>com.github.ben-manes.caffeine</groupId>
<artifactId>caffeine</artifactId>
</dependency>
下面是DomainDataStorageAccess实现,这个类就是缓存操作的实现</