Я использую hibernate 5.3.7 с ehcache 3.7, и я хотел бы кэшировать сущности, которые не существуют.
Пример:
Я пытаюсь найти сущность по идентификатору 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