相关疑难解决方法(0)

Spring Boot + JPA2 + Hibernate - 启用二级缓存

我正在使用带有JPA2的Spring Boot 1.2.5来注释实体(并将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
Run Code Online (Sandbox Code Playgroud)

在启动期间,hibernate抱怨缺乏,EhCacheRegionFactory所以我也把它添加到pom:

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-ehcache</artifactId>
</dependency>
Run Code Online (Sandbox Code Playgroud)

但仍然是查询类似于entityManager.find(Clazz.class, pk)触发数据库查询而不是使用缓存数据.

知道缺少什么吗?

hibernate second-level-cache jpa-2.0 spring-boot

28
推荐指数
3
解决办法
4万
查看次数