Spring Config для Hibernate Session - PullRequest
       19

Spring Config для Hibernate Session

0 голосов
/ 01 ноября 2010

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

1 голос
/ 01 ноября 2010

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

...