¿Cómo uso la clave, en una condición en la anotación en caché

Estoy almacenando en caché los resultados de una función usando la anotación @cacheable. Tengo 3 cachés diferentes y la clave para cada uno es la identificación de usuario del usuario actualmente conectado concatenado con un argumento en el método. En un determinado evento, quiero desalojar todas las entradas de caché que tienen la clave que comienza con esa identificación de usuario en particular. Por ejemplo :

@Cacheable(value = "testCache1", key = "'abcdef'")

Quiero que la anotación de desalojo de caché sea algo así como:

@CacheEvict(value = "getSimilarVendors", condition = "key.startsWith('abc')")

Pero cuando trato de implementar esto me da un error:

Property or field 'key' cannot be found on object of type'org.springframework.cache.interceptor.CacheExpressionRootObject' - maybe not      public?

¿Cuál es la forma correcta de implementar esto?

Respuestas a la pregunta(1)

Su respuesta a la pregunta