Вопрос

Ниже иллюстрации моей иерархии проекта

project hierarchy
(источник: yfrog.com.)

Когда я пытаюсь подключить мой файл file_name.java для hibernate, я получаю эти ошибки

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)

Проблема имеет что делать с моим hibernate.cfg.xml... но я не могу решить это. Любые идеи?

Это было полезно?

Решение

Я подозреваю, что вы используете либо @Cacheable или @Cache В ваших объектах без активированного кэша второго уровня, следовательно, сообщение об ошибке:

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

Вам нужно что-то подобное в hibernate.cfg.xml Чтобы использовать кэш второго уровня (я использую Ehcache в качестве провайдера кэша здесь):

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

Независимо от того, нужен ли вам кэш второго уровня, это еще одна история.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top