2017-01-20 11 views
0

@Cacheable@CachePut注釈を使用して、組み込みキャッシュでSpringを使用しています。Spring @CachePut 2つのキーで同じ値を入力する

私は@Serviceに2つのメソッドを持っています.1つはデータベースに値を保存し、もう1つはデータベースから値を取得します。どちらもキャッシュを使用します。

@CachePut(key = "#code") 
MyObject saveMyObject(MyObject o, String code) { 
    return dao.save(o); 
} 

@Cacheable(key = "#code") 
MyObject getMyObject(String code) { 
    return dao.getMyObject(code); 
} 

オブジェクトを保存するときに、別のキャッシュに入れたいと思います。

@CachePut(key = "'TMP_'.concat(#code)") 

が、私はsaveMyObject法上の2つの@CachePut注釈を使用することはできません。

どうすればよいですか?

答えて

2

あなたがグループにあなたのCachePutをorg.springframework.cache.annotation.Cachingアノテーションを使用することができます。

@Caching(put = { 
     @CachePut(key = "#code"), 
     @CachePut(key = "'TMP_'.concat(#code)") 
}) 
MyObject saveMyObject(MyObject o, String code) { 
    return dao.save(o); 
} 
+0

素晴らしい、キャッシュ注釈については知りませんでした! – user3626048

関連する問題