我使用Spring Boot1.2.5和JPA2来注释实体( hibernate作为底层的JPA实现)。
我希望在该设置中使用二级缓存,因此使用@javax.persistence.Cacheable
注释实体
我还在application.properties中添加了以下内容:
spring.jpa.properties.hibernate.cache.use_second_level_cache=true
spring.jpa.properties.hibernate.cache.use_query_cache=true
spring.jpa.properties.hibernate.cache.region.factory_class=org.hibernate.cache.ehcache.EhCacheRegionFactory
在启动期间,hibernate抱怨缺少EhCacheRegionFactory
,所以我还在pom中添加了以下内容:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-ehcache</artifactId>
</dependency>
但是,像entityManager.find(Clazz.class, pk)
这样的查询仍然触发了DB查询,而不是使用缓存数据。
你知道少了什么吗?
https://stackoverflow.com/questions/31585698
复制相似问题