在我的项目层次结构的插图下

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