2011-11-10 2 views
0

J'utilise EHCache avec Hibernate pour mettre en cache les résultats de mes requêtes de base de données. J'utilise google annotations (com.googlecode.ehcache.annotations.Cacheable) pour rendre les méthodes DAO pouvant être mises en cache.Mise en cache de java.util.Map avec ehcache

Mon problème est que, l'un des arguments de la méthode est un java.util.Map et je n'ai aucune idée de comment le mettre en cache?

Exemple de code:

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

Voici la méthode d'échantillonnage

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

Toute aide?

Répondre

1

Vous pouvez implémenter votre propre CacheKeyGenerator, Voir FAQ, Question 7

Questions connexes