Hibernate会话的Spring配置

Hibernate会话的Spring配置,hibernate,spring,configuration,sessionfactory,hibernate-session,Hibernate,Spring,Configuration,Sessionfactory,Hibernate Session,嗨 我试图通过Spring的注入获得hibernate的会话 以下是我的spring上下文xml: <!-- hibernate's session factory --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="configLocation">

嗨 我试图通过Spring的注入获得hibernate的会话

以下是我的spring上下文xml:

  <!-- hibernate's session factory -->
  <bean id="sessionFactory"
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="configLocation">
      <value>classpath:./hibernate.cfg.xml</value>
    </property>
  </bean>

  <!-- the transaction manager -->
  <bean id="transactionManager"
    class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory" />
  </bean>
但是,我获得的会话为空

通过sf.getObject().getCurrentSession()获取会话是否正确


谢谢:)

我认为你不应该那样访问会话。在bean中使用或注入
SessionFactory
,并对其调用
getCurrentSession()
。否则您的事务管理将无法正确处理

private static ApplicationContext ctx;

    if (ctx == null) {
        ctx = new ClassPathXmlApplicationContext("springContext.xml");
    }
    LocalSessionFactoryBean sf = ctx.getBean(LocalSessionFactoryBean.class);
    session = sf.getObject().getCurrentSession();