Я использую Spring Boot 2.0 с JPA2 для аннотирования сущностей и спящего режима в качестве лежащей в основе реализации JPA.
Я хотел использовать кэш второго уровня в этой настройке, поэтому сущности были аннотированы с помощью @ javax.persistence.Cacheable.
Я также добавил следующее в application.properties:
hibernate.show_sql=true
hibernate.format_sql=true
hibernate.cache.use_second_level_cache=true
hibernate.cache.use_query_cache=true
hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider
hibernate.cache.region.factory_class=org.hibernate.cache.ehcache.EhCacheRegionFactory
hibernate.cache.region_prefix=
hibernate.cache.provider_configuration_file_resource_path=ehcache.xml
Я также добавил это в pom:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-ehcache</artifactId>
</dependency>
Но все равно выполняются запросы, подобные entityManager.find (Clazz.class, pk) запускают запрос к БД вместо использования кэшированных данных.
Есть идеи, чего не хватает?