peut pas instancier RegionFactory
Je suis en train d'activer le cache secondaire, mais je suis une exception.
Code de cache secondaire dans persistence.xml est donnée ci-dessous:
<property name="hibernate.cache.use_second_level_cache" value="true"/>
<property name="hibernate.cache.use_query_cache" value="true"/>
<property name="hibernate.cache.region.factory_class" value="org.hibernate.cache.EhCache"/>
</properties>
Stacktrace d'exception est:
Exception in thread "main" java.lang.ExceptionInInitializerError
at com.org.JPAUtil.<clinit>(JPAUtil.java:21)
at com.org.Main.main(Main.java:23)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Caused by: java.lang.NoClassDefFoundError: net/sf/ehcache/CacheException
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2404)
at java.lang.Class.getConstructor0(Class.java:2714)
at java.lang.Class.getConstructor(Class.java:1674)
at org.hibernate.cfg.SettingsFactory.createRegionFactory(SettingsFactory.java:409)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:280)
at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2833)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2829)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1840)
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:902)
at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:57)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:48)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:32)
at com.org.JPAUtil.<clinit>(JPAUtil.java:17)
... 6 more
Caused by: java.lang.ClassNotFoundException: net.sf.ehcache.CacheException
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 20 more
Après l'ajout de pot pour ehcache, je suis une exception, comme le
Caused by: org.hibernate.HibernateException: could not instantiate RegionFactory [org.hibernate.cache.EhCache]
at org.hibernate.cfg.SettingsFactory.createRegionFactory(SettingsFactory.java:423)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:280)
at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2833)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2829)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1840)
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:902)
... 10 more
Caused by: java.lang.InstantiationException: org.hibernate.cache.EhCache
at java.lang.Class.newInstance0(Class.java:357)
at java.lang.Class.newInstance(Class.java:325)
at org.hibernate.cfg.SettingsFactory.createRegionFactory(SettingsFactory.java:419)
... 15 more
La version d'hibernate utilisez-vous?
Hibernent les bibliothèques que vous avez ajouté à votre classpath?
Je suis de l'utilisation d'hibernate 3.6.0
Hibernent les bibliothèques que vous avez ajouté à votre classpath?
Je suis de l'utilisation d'hibernate 3.6.0
OriginalL'auteur deepakraut | 2012-09-25
Vous devez vous connecter pour publier un commentaire.
Au lieu de:
Utilisation:
Par exemple, l'utilisation d'Hibernate 4.x ainsi que les fichiers JAR hibernate-ehcache-4.3.10.Final.jar et slf4j-api-1.6.1.jar, modifier
persistence.xml
:Puis s'assurer que
hibernate-ehcache-4.3.10.Final.jar
etslf4j-api-1.6.1.jar
sont déployés pour JBoss.Maintenant, vous pouvez annoter les entités, telles que:
OriginalL'auteur deepakraut
Assurez-vous que
Hibernate
etehcache
sont dans le même répertoire. Soit le serveur d'applicationlib
ou votre applicationWEB-INF/lib
OriginalL'auteur Amit Deshpande
Vérifier si le
ehcache-x.x.jar
est dans votre classpath. Dans eclipse, vous pouvez vérifier enright click your project -> build path -> configure build path
. Si vous avez raté ce pot, vous pouvez le télécharger à partir ici. Si vous utilisez maven, vous pouvez simplement mettre la dépendance suivant dans votre pom.xml:vous pourriez avoir besoin d'ajouter un type de pom après la version
OriginalL'auteur Foredoomed