org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session..............................
Caused by: java.sql.SQLException: Connections could not be acquired from the underlying database!......................
Caused by: com.mchange.v2.resourcepool.CannotAcquireResourceException: A ResourcePool could not acquire a resource from its primary factory or source......................

解决方案(目前我遇到的是以下几种):

  • 1.寻找支持重连的连接池。

               在sessionFactory里配置:
    
 <property name="hibernateProperties">
     <props>
        <prop key="hibernate.autoReconnect">true</prop>
  </props>
</property>
  • 2,驱动配置有误,改正确
  • 3,数据库连接地址有误,改之:
  • 4,密码或帐号有误,改之
  • 5,数据库未启动或无权访问,改之
  • 6,项目未引入对应的驱动jar包,改之
  • 7,mysql root没有远程访问的权限,需要增加权限,增加权限的步骤如下: 进入mysql数据库:
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
flush privileges;
  • 8 是jar包冲突(例如某些项目中的class12.jar 与ojdbc.jar,坑了我好久)

Ctrl+shift+t,看看你的项目依赖里面有几个包含oracle.sql.converter.CharacterConverters这个类的jar,去掉重复的,

  • 9 注意配置文件中, 多余的空格

欢迎补充……….

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐