我正在尝试使用 generic-dao ( http://code.google.com/p/hibernate-generic-dao/ )。然而,在我的 HibernateBaseDAO 中,getSession() 方法被实现为 sessionFactory.getCurrentSession()。这会导致任何实体更新出错
org.hibernate.HibernateException: createCriteria is not valid without active transaction
但是,当我使用 openSession() 代替 getCurrentSession() 时,它可以工作。我没有在 pom.xml 中使用 spring 作为依赖项。我一直在阅读 openSession() 和 getCurrentSession(),但仍然无法理解为什么会这样?