#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