0

こんにちは、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>

コードは次のとおりです。

private static ApplicationContext ctx;

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

ただし、取得したセッションは null です。

sf.getObject().getCurrentSession() で Session を取得するのは正しいですか?

ありがとう :)

4

1 に答える 1

1

そのようなセッションにアクセスするべきではないと思います。豆を使用HibernateTemplateまたは注入して、それを呼び出します。そうしないと、トランザクション管理が適切に処理されませんSessionFactorygetCurrentSession()

于 2010-11-01T13:04:36.007 に答える