2 adams zhang adams_zhang 于 2013.12.11 23:54 提问

求大神!!在Spring3.2和Hibernate4.2.8集成测试的时候出现数据库连不上的错误。。。

org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.JDBCConnectionException: Could not open connection
at org.springframework.orm.hibernate4.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:514).....
把数据源换成c3p0也不行,求大神!!

2个回答

a_liujian
a_liujian   2013.12.12 10:08
已采纳

Could not open Hibernate Session for transaction;

应该是数据库连接未设置自动重连的属性或者是数据库的jdbc驱动不能支持重连

你检查下你的连接池属性配置

mysql的重连autoReconnect参数不能使连接重连
c3p0连接池支持重连;重连参数是:
idleConnectionTestPeriod 设置空闲连接测试周期
preferredTestQuery : 设置一查询语句,用于重连测试
testConnectionOnCheckin设置为true
testConnectionOnCheckout设置为true
testConnectionOnCheckout设置为true

GoIntoSunset
GoIntoSunset   2014.04.12 09:07

4.2.8你应该用的是LocalSessionFactoryBean。这个你要进行数据库操作时必须开启Transaction,否则报上面错误

Csdn user default icon
上传中...
上传图片
插入图片