2010-12-15 95 views
2

J'ai une classe de domaine dans Grails 1.5 qui représente les données d'une table qui change rarement. Comment puis-je configurer le cache d'hibernate pour que la classe accède à la table disons seulement une fois par heure?Hibernate cache dans la classe de domaine grails

Merci

Répondre

1

Déposez un ehcache.xml dans Grails-app/Conf. Vous pouvez en prendre un, par exemple, de %grails_home%/lib/ehcache-core-XXX.jar, ehcache-failsafe.xml.

Dans la balise defaultCache, entrez timeToLiveSeconds="3600". Cependant, le cache ne vous donnera pas une garantie absolue - par exemple, il ne sera pas pré-cache, et certaines instances peuvent être rejetées.

EDIT: Si vous êtes intéressé par la stratégie de mise en cache par classe, a sample:

<cache name="org.appfuse.model.User" 
    eternal="false" 
    timeToIdleSeconds="3600" 
    timeToLiveSeconds="3600" 
    overflowToDisk="false" /> 
+0

Merci pour votre réponse. Est-il possible d'utiliser une configuration de cache différente pour une classe spécifique? – xain

+0

Bien sûr, c'est un échantillon par classe. –