当前位置: 代码迷 >> 综合 >> org.hibernate.TransactionException: JDBC begin transaction failed的解决方法
  详细解决方案

org.hibernate.TransactionException: JDBC begin transaction failed的解决方法

热度:0   发布时间:2023-12-18 18:15:45.0
异常:  
javax.servlet.ServletException: org.springframework.transaction.CannotCreateTransactionException: 
Could not open Hibernate Session for transaction; nested exception is org.hibernate.TransactionException: 
JDBC begin failed:   root cause   
org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; 
nested exception is org.hibernate.TransactionException: JDBC begin failed:   解决方案:  
1.  
给jdbc url 增加 autoReconnect=true 一定能解决你的问题,可以定期观察一下 show processlist 
改进方法如下:  
<property name="url" value="jdbc:mysql://localhost/数据库实例名  
称?&useUnicode=true&characterEncoding=utf-8&autoReconnect=true"/>2.  
寻找支持重连的连接池。  注意:c3p0连接池支持重连;重连参数是:  idleConnectionTestPeriod   设置空闲连接测试周期preferredTestQuery         设置一查询语句,用于重连测试testConnectionOnCheckin    设置为truetestConnectionOnCheckout   设置为true
在sessionFactory里配置:  
<property name="hibernateProperties">  <props>  <prop key="hibernate.autoReconnect">true</prop>   </props>  
</property> 

 

  相关解决方案