SSH框架做了一个网站,在页面一直点刷新就会出现hibernate的session is closed!
debug信息显示:每一次刷新都是连接服务器一次,而且上一次数据库连接查询尚未结束,新的一次连接已经启动。是不是这个过程可能就会导致sessionFactory.getCurrentSession()获取到的是一个已关闭的session,(我可以理解成,窗口中多次刷新是共用同一个连接的session启动多个线程么).
如何解决多次刷新造成的这种问题
------解决方案--------------------
检查是不是有地方关了这个 session,而另外的地方却还在引用
------解决方案--------------------
不清楚什么问,帮顶下
------解决方案--------------------
如果是这种问题的话,那么你可以使用openSession,无论何时都是打开一个新的session,但是需要你手动关闭session
------解决方案--------------------
补充一下,一般来说按照道理是不可能出现这种问题的,因为调用getCurrentSession的时候如果得不到最近的session,那么就会new一个新的session出来,所以你看看是你代码的问题,还有,是在不行就用openSession的方法试一试
------解决方案--------------------
是不是按钮调用了多个方法,异步的进行了数据库访问,或者你用完session没关闭。
------解决方案--------------------
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:config/hibernate.cfg.xml" />
hibernate配置文件里配置的是什么东西?
------解决方案--------------------
你看下你action中的逻辑action方法有没有get开头的,有的话改掉