org.hibernate.HibernateException: could not instantiate RegionFactory [org.hibernate.cache.impl.brid

参考网址:http://tang.bill.blog.163.com/blog/static/4402137920104171082490/

学习到Hibernate的二级缓存的时候,遇到下面的问题。经查询与测试之后,才知道都是因没有导入commons-logging.jar这个包的原因。

 

Exception in thread "main" java.lang.ExceptionInInitializerError
 at com.tangbill.test.CacheTest.addUser(CacheTest.java:22)
 at com.tangbill.test.CacheTest.main(CacheTest.java:14)
Caused by: org.hibernate.HibernateException: could not instantiate RegionFactory [org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge]
 at org.hibernate.cfg.SettingsFactory.createRegionFactory(SettingsFactory.java:412)
 at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:271)
 at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2101)??

 at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1325)
 at com.tangbill.utils.MySqlConnection.<clinit>(MySqlConnection.java:13)
 ... 2 more
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:407)
 ... 6 more
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
 at com.opensymphony.oscache.base.Config.<clinit>(Config.java:23)
 at org.hibernate.cache.OSCacheProvider.<clinit>(OSCacheProvider.java:55)
 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 java.lang.Class.newInstance0(Class.java:355)
 at java.lang.Class.newInstance(Class.java:308)
 at org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge.<init>(RegionFactoryCacheProviderBridge.java:63)
 ... 11 more
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
 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)
 ... 20 more


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
org.hibernate.HibernateException: Could not obtain transaction-synchronized Session for current thread 是一个错误,它表示在当前的线程中无法获取与事务同步的Session。这个错误通常发生在使用Spring框架进行事务管理的情况下。 在引用中,错误的根本原因可能是在配置文件中定义的entityManagerFactory bean出现问题。这个bean是在Spring Boot中用于创建和管理JPA实体管理器的工厂。可能有一些配置错误或依赖关系问题导致无法正确创建这个bean。 在引用中,@Transactional注解表示该类中的方法应该在事务中运行。然而,如果没有正确配置事务管理器或没有启用事务支持,就会导致无法获取与事务同步的Session。 为了解决这个问题,你可以尝试以下几个步骤: 1. 检查配置文件中的entityManagerFactory bean定义,确保它的配置正确,并且所有的依赖关系都已经正确设置。 2. 确保在应用程序中正确配置了事务管理器,并且事务管理器已经与entityManagerFactory进行了正确的关联。 3. 确保使用的数据源和数据库连接配置是正确的,并且数据库已经正确地启动和运行。 4. 检查代码中使用的注解和配置,确保@Transactional注解被正确应用,并且所有需要进行的数据库操作都在事务中进行。 如果问题仍然存在,你可以考虑查看更详细的错误日志以获取更多的信息,或者在Spring社区中咨询其他开发者以获取帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值