Кэширование java.util.Отображение с помощью ehcache

#java #hibernate #spring #ehcache

#java #переход в спящий режим #весна #ehcache

Вопрос:

Я использую EHCache с помощью Hibernate для кэширования результатов моего запроса к БД. Я использую аннотации Google ( com.googlecode.ehcache.annotations.Cacheable ), чтобы сделать методы DAO кэшируемыми.

Моя проблема в том, что одним из аргументов в методе является java.util.Map , и я понятия не имею, как его кэшировать?

Пример кода :

 import com.googlecode.ehcache.annotations.Cacheable;
import com.googlecode.ehcache.annotations.KeyGenerator;
import com.googlecode.ehcache.annotations.PartialCacheKey;
import com.googlecode.ehcache.annotations.Property;
  

Вот пример метода

 @Cacheable(cacheName = "ehcahe", keyGenerator = @KeyGenerator(name = "HashCodeCacheKeyGenerator", properties = @Property(name = "includeMethod", value = "false")))
public Object get( @PartialCacheKey Map map ) {
 //do something
}
  

Любая помощь?

Ответ №1:

Вы можете реализовать свой собственный CacheKeyGenerator , см. FAQ, вопрос 7