Почему мы получаем исключение, когда мы включаем кэш запросов в файле hibernate.cfg.xml, используя hibernate 5.3.1. Окончательная зависимость?
Я создал небольшую программу кэширования второго уровня, используя зависимость 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>
В hibernate 5.3 кэш второго уровня работает нормально, но "cache-cache" не работает. Я получаю исключение, когда я включаю кеш запросов в 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]
Как решить это?
Но та же программа, когда я попробовал с зависимостью hibernate 5.2.17, кэш запросов работал нормально.
1 ответ
Использовать Hibernate ORM Hibernate Core "5.3.4. Окончательные зависимости будут работать
У тебя есть ehcache.xml
файл в вашем classpath? Какой у вас конфиг ehcache?