2016-04-15 9 views
0

Ich bekomme unter Fehler beim Starten der Anwendung, bekomme ich diese Ausnahme nur, wenn ich @cache(usage=CacheConcurrencyStrategy.READ_WRITE) Annotation auf dem Domain-Objekt hinzufügen. Wenn ich nur Annotation @Cacheable(true) verwende, gibt es diesen Fehler nicht.Second-Level-Cache wird in der Anwendung verwendet, aber die Eigenschaft hibernate.cache.region.factory_class ist nicht

org.hibernate.cache.NoCacheRegionFactoryAvailableException: Second-level cache is used in the application, but property hibernate.cache.region.factory_class is not given, please either disable second level cache or set correct region factory class name to property hibernate.cache.region.factory_class (and make sure the second level cache provider, hibernate-infinispan, for example, is available in the classpath). 

Wie ist es möglich, dass mit nur Cacheble es in der Lage ist, die Fabrik zu finden und mit @Cache Anmerkung ist es nicht?

persistence.xml

 <property name="hibernate.cache.use_second_level_cache" value="true"/> 
     <property name="hibernate.cache.use_query_cache" value="true"/> 
     <property name="hibernate.cache.provider_class" value="org.hibernate.cache.EhCacheProvider"/> 
     <property name="hibernate.cache.region.factory_class" value="org.hibernate.cache.ehcache.EhCacheRegionFactory"/> 

I Hibernate Version 4.x 6

+0

Haben Sie Glück? Hast du die Lösung versucht – LearningPhase

Antwort

2

JPA 2.1 auf JBoss EAP können Sie versuchen, verwende bitte diese zu Ihrer Klasse hinzufügen. Cache (Verwendung = CacheConcurrencyStrategy.READ_ONLY, Region = "Mitarbeiter").

Ändern Sie den Namen der Region zu dem, was Sie in Ihrem encache.xml verwenden

+0

Hat die obige Antwort geholfen? – LearningPhase

+0

Noch nicht, was auch immer das Ergebnis ist Ich werde dich hier nur aktualisieren, wenn ich es versuche. Danke für die Antwort. –

+0

Es funktionierte nach Ihrem Vorschlag. Danke –