一尘不染

休眠会话已关闭

hibernate

当我按如下方式调用session.begin事务方法时:

//session factory is instantiated via a bean
Session session = this.getSessionFactory().getCurrentSession();
session.beginTransaction();

然后我得到以下异常消息

6:13:52,217 ERROR [STDERR] org.hibernate.SessionException: Session is closed!
at org.hibernate.impl.AbstractSessionImpl.errorIfClosed(AbstractSessionImpl.java:49)
at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1319)

造成此错误的原因是什么?


阅读 286

收藏
2020-06-20

共1个答案

一尘不染

更新: 我想调用getCurrentSession()并不能保证该会话实际上是打开的。第一次,您应该使用

Session session = this.getSessionFactory().openSession();
session.beginTransaction();

代替。该建议实际上与您找到的页面一致。

之前:

根据到目前为止的可用信息,我们可以得出结论,错误的原因是会话未打开;-)

2020-06-20