Как использовать ключ в условии в Cacheable аннотации
Я кеширую результаты функции, используя аннотацию @cacheable. У меня есть 3 разных кеша, и ключом для каждого является идентификатор пользователя вошедшего в систему пользователя, объединенного с аргументом в методе. На определенном событии я хочу удалить все записи в кэше, у которых есть ключ, начинающийся с этого конкретного идентификатора пользователя. Например :
@Cacheable(value = "testCache1", key = "'abcdef'")
Я хочу, чтобы аннотация удаления кэша была чем-то вроде:
@CacheEvict(value = "getSimilarVendors", condition = "key.startsWith('abc')")
Но когда я пытаюсь реализовать это, это дает мне ошибку:
Property or field 'key' cannot be found on object of type'org.springframework.cache.interceptor.CacheExpressionRootObject' - maybe not public?
Как правильно это реализовать?