Question

Quelles sont les étapes nécessaires pour activer la veille prolongée du cache de second niveau, lors de l'utilisation de l'API Java Persistence (entités annotées)?Comment puis-je vérifier que cela fonctionne?Je suis à l'aide de JBoss 4.2.2.GA.

À partir de la documentation Hibernate, il semble que j'ai besoin d'activer le cache et spécifier un fournisseur de cache dans persistence.xml, comme par exemple:

<property name="hibernate.cache.use_second_level_cache"
          value="true" /> 
<property name="hibernate.cache.provider_class" 
          value="org.hibernate.cache.HashtableCacheProvider" /> 

Quoi d'autre est nécessaire?Dois-je ajouter @Cache annotations à mon entités JPA?

Comment puis-je savoir si le cache est en train de travailler?J'ai essayé d'accéder aux statistiques du cache après l'exécution d'une Requête, mais Les statistiques.getSecondLevelCacheStatistics renvoie la valeur null, peut-être parce que je ne sais pas ce que la "région" nom à utiliser.

Était-ce utile?

La solution

Je crois que vous devez ajouter le cache des annotations à dire hibernate comment utiliser le cache de second niveau (lecture seule, lecture-écriture, etc).Cela a été le cas dans mon application (à l'aide de printemps / traditionnel hibernate et ehcache, de sorte que votre kilométrage peut varier).Une fois les caches ont été indiqués, j'ai commencé à voir les messages qu'ils étaient dans l'utilisation de hibernate.

Autres conseils

Suivi:à la fin, après l'ajout d'annotations, j'ai de travailler avec EhCache, c'est à dire

<property name="hibernate.cache.provider_class" 
          value="net.sf.ehcache.hibernate.EhCacheProvider" />
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top