情况为:使用 getCurrentSession()方法(且配置了Session的生命周期与线程绑定)获取Session进行操作时,出现 Session is closed 异常,但使用openSession()方法没问题。
详细代码情况和异常如下:

解决:
查完资料后得知:使用getCurrentSession()方法,进行事务提交(commit()方法)后,Hibernate框架会自动把Session缓存中的内容清空,并关闭。所以此时不需要再手动自行关闭,将 session.close()注释掉即可。
转载于:https://blog.51cto.com/14008076/2299551
本文探讨了使用getCurrentSession()方法获取Session进行操作时遇到的Sessionisclosed异常问题。在事务提交后,Hibernate会自动关闭Session,因此不应手动关闭。文章提供了具体的解决办法。

337

被折叠的 条评论
为什么被折叠?



