2010-07-06 3 views
1

Ci-dessous une illustration de ma hiérarchie de projetstructure de l'application web problème hierarcy

project hierarchy http://a.yfrog.com/img809/3151/58400945.png

Quand j'essaie de connecter mon fichier file_name.java pour hiberner je reçois ces erreurs

Exception in thread "main" org.hibernate.HibernateException: Could not instantiate cache implementation 
    at org.hibernate.cache.CacheFactory.createCache(CacheFactory.java:64) 
    at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:214) 
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1218) 
    at net.pkg.dao.FirstExample.main(FirstExample.java:17) 
Caused by: org.hibernate.cache.NoCachingEnabledException: Second-level cache is not enabled for usage [hibernate.cache.use_second_level_cache | hibernate.cache.use_query_cache] 
    at org.hibernate.cache.NoCacheProvider.buildCache(NoCacheProvider.java:21) 
    at org.hibernate.cache.CacheFactory.createCache(CacheFactory.java:61) 

la problème a quelque chose à voir avec mon hibernate.cfg.xml ... mais je suis incapable de le résoudre. Des idées?

+0

Pas que je saurais comment résoudre le problème, mais ce qui me frappe, c'est que vous semblez essayer de charger l'implémentation du cache sans activer la mise en cache ... –

+0

Je reçois la même erreur dans mon projet. vous avez une solution? – JegsVala

Répondre

1

Je soupçonne que vous utilisez soit @Cacheable ou @Cache sur vos entités sans avoir le cache de second niveau activé, d'où le message d'erreur:

o.h.c.NoCachingEnabledException: Second-level cache is not enabled for usage ... 

Vous avez besoin quelque chose comme ça dans le hibernate.cfg.xml d'utiliser le second niveau cache (j'utilise EHCache en tant que fournisseur de cache ici):

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

Si vous avez vraiment besoin du cache de second niveau est une autre histoire.