在独立java应用程序中移植hibernate Dao层?
我有一个使用Hibernate的SpringMVC应用程序。 我在Dao方法中使用sessionFactory.getCurrentSession(不支持hibernate) 我想知道的是,为了能够使用hibernate数据库层,我必须做些什么 在非web应用程序中 我有一个独立的java应用程序(通过main运行),我在其中加载spring的应用程序上下文 通过编程,然后获取我的服务层(这取决于我的hibernate db层)。 我是否需要在spring.xml文件中执行任何特殊操作来设置hibernate会话? 在我的SpringMVCWeb应用程序中,我确实用@Transactional注释了我的Dao方法。 (我希望事务以每次调用为基础,而不是一组db调用)在独立java应用程序中移植hibernate Dao层?,java,spring,hibernate,spring-mvc,Java,Spring,Hibernate,Spring Mvc,我有一个使用Hibernate的SpringMVC应用程序。 我在Dao方法中使用sessionFactory.getCurrentSession(不支持hibernate) 我想知道的是,为了能够使用hibernate数据库层,我必须做些什么 在非web应用程序中 我有一个独立的java应用程序(通过main运行),我在其中加载spring的应用程序上下文 通过编程,然后获取我的服务层(这取决于我的hibernate db层)。 我是否需要在spring.xml文件中执行任何特殊操作来设置hi
在我的web应用程序中,会话是如何创建/销毁的,是按请求创建/销毁的吗 您可以通过main方法获得spring
ApplicationContext
。它的行为将与web中的行为完全相同
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
YourDAO yDao = (YourDAO)context.getBean("yourDAO");
yDao.callYourSpecialMethod();
因此,从这一点来看,hibernate不依赖于它,它应该自动工作。这里只是视图被更改,没有逻辑或结构更改。因此,事务和其他事情应该像往常一样工作。如果我希望每个请求都有一个会话事务,该怎么办?请求有点混乱,基本上每次调用DAO方法时,都会创建一个会话,并在使用后关闭(假设事务位于DAO层)。