日期:2014-05-18  浏览次数:20986 次

Could not commit Hibernate transaction
本帖最后由 kizzs 于 2013-11-20 19:35:15 编辑
大家看,这是啥错。struts2+Spring+hibernate+Mysql+linux+tomcat的组合。辛苦各位啦
hibernate mysql linux ssh jdbc

------解决方案--------------------
最好不要javase不熟就弄javaee。
一个环节一个环节的查,截取,看正常不。
提示说连接已经关闭。不知道你的程序怎么写的。
------解决方案--------------------
期待高手解决
------解决方案--------------------
图片这么小。。眼睛都看花了。
错误原因是在你commit之前,conn已经调用了close方法。你仔细检查下
------解决方案--------------------
用的是c3p0还是dbcp?对应的数据库连接配置文件发出来看看
------解决方案--------------------
这个问题是你服务器拿到的连接已经被关闭了!
mysql的连接保持时间默认是8小时,你的程序8小时没访问数据库这时候mysql的连接就都失效了,但是你的程序里面是用的连接池吧?他们那边连接池不知道你这个连接已经失效,继续给你,你去连就报这个错了。
这种情况可以把关闭时间延长解决。

前段时间我们还碰到一种情况引发这种错误。
就是只重启了数据库没有重启web服务,导致程序那边的连接全部是已经失效的。
(话说那是总理来视察的前一天,这鸟问题把我们吓尿了,百思不得其解呢,最后才想到这个,他妈的!)
------解决方案--------------------
怎么延长什么的 去百度吧 或者进我的csdn博客 上面有详细解释
------解决方案--------------------

------解决方案--------------------
连接已经关闭。你不能提交。 
------解决方案--------------------
添加这个OpenSessionInViewFilter过滤器,你是事务切面是不是在action层?如果是的话,最好移到service层,就可以避免这个问题了!