Spring Config для Hibernate Session

Привет, я пытаюсь получить сессию 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>

Вот код:

private static ApplicationContext ctx;

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

Однако сессия, которую я получаю, является нулевой.

Правильно ли получить Session через sf.getObject(). GetCurrentSession()?

Спасибо:)

1 ответ

Я не думаю, что вы должны получить доступ к сессии так. Либо использовать HibernateTemplate или ввести SessionFactory в твоих бобах и звони getCurrentSession() в теме. Иначе ваше управление транзакциями не будет обработано должным образом

Другие вопросы по тегам