title: how to prevent a return value from cache to be changed in spring cacheable
body: <p>i'm working around spring 3.1 annotation cache with ehcache as a cache implement.</p>
  
  <p>a method with return value like this</p>
  
  <pre><code>@Cacheable("cache")
  public MyObject getObj(Object param);
  </code></pre>
  
  <p>i got a myobject return value for the first time,and it's editable.
  ehcache can do something for that by setting "copyOnRead" or "copyOnWrite".
  it will force serialize object on read/write.
  but at the first time spring will not get value from cache,it always return by method itself.</p>
  
  <p>is there some way to get a readonly return value?</p>