当我调用方法 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)
导致此错误的原因可能是什么?
最佳答案
更新:我猜那个叫 getCurrentSession()
不保证 session 实际上是打开的。第一次,你应该使用
Session session = this.getSessionFactory().openSession();
session.beginTransaction();
反而。该建议实际上与您找到的页面一致。
之前:
根据目前可用的信息,我们可以得出结论,错误的原因是 session 未打开 ;-)
关于 hibernate session 已关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2378572/