我使用“hibernate 5.3.1.final”依赖项创建了一个小型二级缓存程序。我使用以下依赖项来处理二级缓存。
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.3.1.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-ehcache</artifactId>
<version>5.3.1.Final</version>
</dependency>
在此依赖项中,“EhcacheRegionFactory”包名称已更改。因此我们需要在“hibernate.cfg.xml”文件中使用如下属性。
<property name="hibernate.cache.region.factory_class">
org.hibernate.cache.ehcache.internal.EhcacheRegionFactory
</property>
在休眠 5.3 中,二级缓存工作正常,但“查询缓存”不起作用。当我在“hibernate.cfg.xml”中启用查询缓存时,我遇到了异常。
->Exception in thread "main" java.lang.ExceptionInInitializerError
->Caused by: org.hibernate.service.spi.ServiceException: Unable to create
requested service [org.hibernate.cache.spi.CacheImplementor]
->Caused by: org.hibernate.cache.CacheException: On-the-fly creation of
JCache Cache objects is not supported
[org.hibernate.cache.spi.TimestampsRegion]
这个怎么解决?
但是当我尝试使用休眠 5.2.17 依赖项时,同一个程序查询缓存工作正常。