我正在使用带有 ehcache 3.7 的休眠 5.3.7,我想缓存不存在的实体。
例子:
我尝试通过 id 10 查找实体,如果它不存在,它应该返回 null/Optional.empty() 直到缓存被驱逐。
这样做的原因是我们将用户消息存储在数据库中,使用区域特定语言回退到父语言。
例子:
如果我请求该button.accept
语言的消息es_PA
并且它不存在,我应该返回该语言的消息es
。
因此,很可能会收到对不存在但应该缓存的实体的请求。
我目前的配置是这样的:
spring:
jpa:
properties:
hibernate:
cache:
provider: org.ehcache.jsr107.EhcacheCachingProvider
region:
factory_class: jcache
并且实体类注释为:
@Cacheable @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
PS:我也在用Spring boot 2.1.3