2008-09-10 5 views
7

Welche Schritte sind erforderlich, um den Zwischenspeicher der zweiten Ebene bei Verwendung der Java Persistence API (mit Anmerkungen versehene Entitäten) zu aktivieren? Wie überprüfe ich, ob es funktioniert? Ich benutze JBoss 4.2.2.GA.Aktivieren des Zwischenspeichers der zweiten Ebene mit JPA auf JBoss 4.2

Von der Hibernate Dokumentation, so scheint es, dass ich den Cache aktivieren und einen Cache-Provider in persistence.xml, wie angeben:

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

Was wird benötigt? Muss ich meinen JPA-Entitäten @Cache Anmerkungen hinzufügen?

Wie kann ich feststellen, ob der Cache funktioniert? Ich habe versucht, Zugriff auf Cache-Statistiken nach dem Ausführen einer Abfrage, aber Statistics.getSecondLevelCacheStatistics gibt null zurück, vielleicht weil ich nicht weiß, was 'Region' Name zu verwenden.

Antwort

3

Ich glaube, Sie müssen die Cache-Annotationen hinzufügen, um Hibernate mitzuteilen, wie der Second-Level-Cache verwendet wird (schreibgeschützt, schreibgeschützt usw.). Dies war der Fall in meiner App (mit Feder/traditionellen Winterschlaf und Ehcache, so dass Ihre Laufleistung variieren kann). Sobald die Caches angezeigt wurden, sah ich Nachrichten, die sie aus dem Ruhezustand verwendet haben.

4

Follow-up: am Ende, nachdem Anmerkungen hinzufügen, ich habe es mit ehcache arbeiten, dh

<property name="hibernate.cache.provider_class" 
      value="net.sf.ehcache.hibernate.EhCacheProvider" /> 
+1

Beachten Sie, dass in Hibernate 3.3+ diese Parameter jetzt hibernate.cache.region.factory_class und nicht Was ist darüber? Hinzufügen für die Nachwelt;) –

Verwandte Themen