使用hibernate过一晚上连接不上??高手来!

来源:百度知道 编辑:UC知道 时间:2024/05/15 02:03:08
使用hibernate建的网站..刚刚启动的时候可以运行..
但是在放了一个晚上的时候第二天再访问就连接不上数据库了..
我的数据库是用的是mysql..
不知道是不是hibernate的配置有什么问题啊!!

在线等高手!!
补充:
我觉得是openSession和getCurrentSession的问题吧.
我是在里面每一次的查询都是使用getCurrentSession的.要是使用openSession查询的话里面的数据是旧的数据.
能不能定期的把数据库连接池清空重新启动一下呢??

或者会不会是数据库那边连接太久了.把那个连接断掉呢??

我用的是Tomcat.能不能也像你说的那样使用定时测试关闭失败连接呢?
我已经看过代码了.每一个openSession完了都关闭的..可还是那样 ..

查看了一下mysql.发现它是28800秒以内没有使用该连接就把连接关闭.但是hibernate那边并不知道..该怎么样整呢??

楼主,连不上提示什么exception,
还有配置文件贴上来就是hibernate的连接配置
————————————————————————————
如果一次也连接不上,包括重启tomcat也连接不上绝对不关连接池的事楼主相信我
————————————————————————————
那是不是你的网站流量过低导致没有连接超时呢,mysql设置下如果没有事情发生,服务器在 8个小时后关闭连接。可在启动mysqld时通过设置wait_timeout变量改变时间限制。
具体操作如下:
在 MS-DOC 中 MySql 5.0\bin 目录下运行 :mysqld --verbose --help ,得到 MySql 的参数配置。从中看到 wait_timeout = 28800 ,也就是8小时。如果超过 8 小时,没有对数据库进行操作,数据连接就会自动断开。

解决方法:
可以在 my.ini 文件中启动项中添加 wait_timeout = 86400 任意值来设置等待时间,然后关闭mysql服务,重新启动下

首先 你要确定是不是移植的问题

其次 这个根配置关系不大 你也可以重现配置下hibernate session

另外连不上数据库报什么错?

你把具体运行环境和背景详细说一下

请把错误信息贴出来!!!
连接不上有很多 原因!
中毒! 配置 写错了!!
mysql 内部有问题
死锁 等...

“昨天我还好好的,今天起床就生病了,医生请给我开药方好吗?”
再高明的医生,对于病人这样的描述也开不出药方。

你数据库服务启动没有

有时候第二天来忘记启动服务,所以就连不上

如果启动了连不上,最好不异常信息贴出来

我想我知道你的问题所在,我貌似也遇到过(事实上应不是时间问题,而是连接数问题)。
应该是你在程序中没有关闭连接,导致数据库连接池出现问题,无正常的可用连接了。
回头再改代