在我的应用程序中在哪里打开和在哪里关闭SessionFactory
您正在使用单例会话工厂对象。因此,您可以使用类名称调用getSessionFactory()方法。因此您确实需要每次为会话工厂创建对象。
您的DAO类方法应如下所示
DAO类中的方法
public boolean createUser(NewUserDTO newUserDTO) { try { sessionFactory = DBUtils.getSessionFactory(); session = sessionFactory.openSession(); transaction = session.beginTransaction(); session.save(newUserDTO); session.getTransaction().commit(); } catch (RuntimeException runtimeException) { LOGGER.error(runtimeException); transaction.rollback(); return false; } finally { if (session != null) { session.close(); } } return true;}并且必须为每种方法关闭会话。这样就不会为每个类都创建会话工厂。



