Я разработал репозиторий Spring, интерфейс MemberRepository
, который расширяет org.springframework.data.jpa.repository.JpaRepository
. MemberRepository
имеет метод:
@Cacheable(CacheConfiguration.DATABASE_CACHE_NAME)
Member findByEmail(String email);
Результат кэшируется Spring абстракцией кэша (с поддержкой ConcurrentMapCache
).
Проблема заключается в том, что я хочу написать тест интеграции (против hsqldb), который утверждает, что результат извлечен из db в первый раз и из кэша во второй раз.
Первоначально я думал об издевательстве инфраструктуры jpa (диспетчер сущностей и т.д.) и как-то утверждать, что диспетчер сущностей не называется вторым, но кажется слишком сложным/громоздким (см. qaru.site/info/86621/...).
Может ли кто-нибудь, пожалуйста, дать советы о том, как проверить поведение кэширования метода репозитория данных Spring, аннотированного с помощью @Cacheable
?