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

在启动过程中,hibernate抱怨缺少它,EhCacheRegionFactory因此我也将其添加到pom中:

<dependency>

<groupId>org.hibernate</groupId>

<artifactId>hibernate-ehcache</artifactId>

</dependency>

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

知道缺少什么吗?

回答:

在进一步挖掘之后,这就是我所缺少的application.properties

spring.jpa.properties.javax.persistence.sharedCache.mode=ALL

希望它可以帮助某人:)

以上是 Spring Boot + JPA2 + Hibernate-启用二级缓存 的全部内容, 来源链接: utcz.com/qa/412536.html

回到顶部