org.hibernate.TransactionException: JDBC begin transaction failed:解决方法
2015-05-21 14:32
621 查看
异常:
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 设置为true
testConnectionOnCheckout 设置为true
在sessionFactory里配置:
<property name="hibernateProperties">
<props>
<prop key="hibernate.autoReconnect">true</prop>
</props>
</property>
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 设置为true
testConnectionOnCheckout 设置为true
在sessionFactory里配置:
<property name="hibernateProperties">
<props>
<prop key="hibernate.autoReconnect">true</prop>
</props>
</property>
相关文章推荐
- org.hibernate.TransactionException: JDBC rollback failed错误解决方法
- 解决方法 严重: Servlet.service() for servlet default threw exception org.hibernate.TransactionException: Transaction not successfully
- 500 - org.hibernate.TransactionException: JDBC rollback failed
- 解决方法 严重: Servlet.service() for servlet default threw exception org.hibernate.TransactionException: Transaction not successfully
- org.hibernate.TransactionException: JDBC rollback failed 处理
- org.hibernate.MappingException: No Dialect mapping for JDBC type: -1 解决方法
- org.hibernate.TransactionException: JDBC rollback failed 处理
- org.hibernate.exception.GenericJDBCException: could not insert: [com.qdd.entity.Book] 的解决方法
- org.hibernate.TransactionException: nested transactions not supported错误的解决方法!
- org.hibernate.MappingException: No Dialect mapping for JDBC type: -15的解决方法
- cloudera-scm-server启动时出现Caused by: javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: Could not open connection问题解决方法(图文详解)
- org.hibernate.MappingException: No Dialect mapping for JDBC type: -1 解决方法搜藏
- Could not roll back Hibernate transaction; nested exception is org.hibernate.TransactionException: JDBC rollback failed
- org.hibernate.TransactionException: JDBC rollback failed
- org.hibernate.TransactionException: JDBC rollback failed
- org.hibernate.MappingException: No Dialect mapping for JDBC type: -1 解决方法搜藏
- org.hibernate.MappingException: No Dialect mapping for JDBC type: -1 解决方法
- org.hibernate.MappingException: No Dialect mapping for JDBC type: -1 解决方法搜藏
- org.hibernate.QueryException: could not resolve property错误的解决方法
- org.xml.sax.SAXParseException: Failed to read schema document错误的完美解决方法 以及 Spring如何加载XSD文件