title: JCache key exception
body: <p>I have a method that has to be cached. I have a SpringBoot 2.1.7 application with a JSR-107 (JCache) cache. Cache implementation used: EHCache 3.8.0. </p>
  
  <pre><code>@Override
  @HystrixCommand(fallbackMethod = "fallbackGetAllUserProfiles")
  @Timed(histogram = true, percentiles = {0.75, 0.9, 0.95, 0.99})
  @CacheResult
  public UserProfiles getAllUserProfiles(@CacheKey String accountID, @CacheKey String userID) {
      return getAllUserProfilesFromBackend(accountID, userID);
  }
  </code></pre>
  
  <p>The class is annotated with <code>CacheDefaults(cacheName = "profileCache")</code>
  When I use the annotation: <code>@EnableCaching</code> on my SpringBoot starter class I get this exception when trying to access the method:</p>
  
  <pre><code>java.lang.ClassCastException: Invalid key type, expected : java.lang.String but was : org.springframework.cache.interceptor.SimpleKey
      at org.ehcache.impl.store.BaseStore.checkKey(BaseStore.java:64) ~[ehcache-3.8.0.jar:3.8.0 98c7461621c490ef009548e61849f925305a631f]
      at org.ehcache.impl.internal.store.heap.OnHeapStore.get(OnHeapStore.java:279) ~[ehcache-3.8.0.jar:3.8.0 98c7461621c490ef009548e61849f925305a631f]
      at org.ehcache.core.Ehcache.doGet(Ehcache.java:90) ~[ehcache-3.8.0.jar:3.8.0 98c7461621c490ef009548e61849f925305a631f]
      at org.ehcache.core.EhcacheBase.get(EhcacheBase.java:127) ~[ehcache-3.8.0.jar:3.8.0 98c7461621c490ef009548e61849f925305a631f]
      at org.ehcache.jsr107.Eh107Cache.get(Eh107Cache.java:90) ~[ehcache-3.8.0.jar:3.8.0 98c7461621c490ef009548e61849f925305a631f]
      at org.springframework.cache.jcache.JCacheCache.lookup(JCacheCache.java:77) ~[spring-context-support-5.1.9.RELEASE.jar:5.1.9.RELEASE]
      at org.springframework.cache.support.AbstractValueAdaptingCache.get(AbstractValueAdaptingCache.java:58) ~[spring-context-5.1.9.RELEASE.jar:5.1.9.RELEASE]
      at org.springframework.cache.interceptor.AbstractCacheInvoker.doGet(AbstractCacheInvoker.java:73) ~[spring-context-5.1.9.RELEASE.jar:5.1.9.RELEASE]
      at org.springframework.cache.jcache.interceptor.CacheResultInterceptor.invoke(CacheResultInterceptor.java:57) ~[spring-context-support-5.1.9.RELEASE.jar:5.1.9.RELEASE]
      at org.springframework.cache.jcache.interceptor.JCacheAspectSupport.execute(JCacheAspectSupport.java:135) ~[spring-context-support-5.1.9.RELEASE.jar:5.1.9.RELEASE]
      at org.springframework.cache.jcache.interceptor.JCacheAspectSupport.execute(JCacheAspectSupport.java:112) ~[spring-context-support-5.1.9.RELEASE.jar:5.1.9.RELEASE]
      at org.springframework.cache.jcache.interceptor.JCacheInterceptor.invoke(JCacheInterceptor.java:82) ~[spring-context-support-5.1.9.RELEASE.jar:5.1.9.RELEASE]
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.1.9.RELEASE.jar:5.1.9.RELEASE]
      at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:93) ~[spring-aop-5.1.9.RELEASE.jar:5.1.9.RELEASE]
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.1.9.RELEASE.jar:5.1.9.RELEASE]
      at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) ~[spring-aop-5.1.9.RELEASE.jar:5.1.9.RELEASE]
  </code></pre>
  
  <p>This is the cache specification:</p>
  
  <pre class="lang-xml prettyprint-override"><code>    &lt;cache alias="profileCache"&gt;
          &lt;key-type copier="org.ehcache.impl.copy.SerializingCopier"&gt;java.lang.String&lt;/key-type&gt;
          &lt;value-type copier="org.ehcache.impl.copy.IdentityCopier"&gt;java.util.List&lt;/value-type&gt;
          &lt;expiry&gt;
              &lt;ttl unit="minutes"&gt;5&lt;/ttl&gt;
          &lt;/expiry&gt;
          &lt;heap unit="entries"&gt;10000&lt;/heap&gt;
      &lt;/cache&gt;
  </code></pre>
  
  <p>When I change the annotation to <code>@EnableCaching(mode = AdviceMode.ASPECTJ)</code> it does work. Is this a bug or am I doing something wrong here?</p>