org.hibernate.HibernateException: could not instantiate RegionFactory

来源:互联网 发布:办公软件使用心得体会 编辑:程序博客网 时间:2024/05/21 09:35


org.hibernate.HibernateException: could not instantiate RegionFactory [org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge]
 at org.hibernate.cfg.SettingsFactory.createRegionFactory(SettingsFactory.java:389)
 at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:262)
 at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2119)
 at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2115)
 at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1339)
 at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
 at com.nw.test.TestCacheLv2.setUp(TestCacheLv2.java:25)
 at junit.framework.TestCase.runBare(TestCase.java:128)
 at junit.framework.TestResult$1.protect(TestResult.java:106)
 at junit.framework.TestResult.runProtected(TestResult.java:124)
 at junit.framework.TestResult.run(TestResult.java:109)
 at junit.framework.TestCase.run(TestCase.java:120)
 at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
 at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: java.lang.reflect.InvocationTargetException
 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
 at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
 at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
 at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
 at org.hibernate.cfg.SettingsFactory.createRegionFactory(SettingsFactory.java:384)
 ... 17 more
Caused by: org.hibernate.cache.CacheException: could not instantiate CacheProvider [org.hibernate.catche.EhCacheProvider]
 at org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge.<init>(RegionFactoryCacheProviderBridge.java:66)
 ... 22 more
Caused by: java.lang.ClassNotFoundException: org.hibernate.catche.EhCacheProvider
 at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
 at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
 at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
 at java.lang.Class.forName0(Native Method)
 at java.lang.Class.forName(Class.java:169)
 at org.hibernate.util.ReflectHelper.classForName(ReflectHelper.java:192)
 at org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge.<init>(RegionFactoryCacheProviderBridge.java:63)
 ... 22 more


此错是因为一时大意把hibernate.cfg.xml中关于二级缓存配置的属性名称写错了

<!-- 二级缓存配置 -->
  <!-- 1.导入commons-logging-1.1.3.jar架包 -->
  <!-- 2.将hibernate-distribution-3.3.2.GA\project\etc\ehcache.xml放置src下 -->
  <!-- 3.设置属性hibernate.cache.use_second_level_cache -->
  <property name="hibernate.cache.use_second_level_cache">true</property>
  <!-- 4.设置属性 hibernate.cache.provider_class -->
  <property name="hibernate.cache.provider_class">org.hibernate.catche.EhCacheProvider</property>
  <mapping class="com.nw.vo.Students" />
  <!-- 5.设置使用二级缓存的实体 -->
  <class-cache usage="read-only" class="com.nw.vo.Students" />

把第四步
  <property name="hibernate.cache.provider_class">写成了
  <property name="hibernate.catche.provider_class">


唉,掌握一门外语是多么滴可贵


0 0
原创粉丝点击