0

Salut J'essaye d'obtenir la session d'hibernate à travers l'injection de Spring.Spring Config pour la session Hibernate

Voici mon contexte printemps 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> 

Voici le code:

private static ApplicationContext ctx; 

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

Cependant la session j'obtenir est nul.

Est-il correct d'obtenir Session via sf.getObject(). GetCurrentSession()?

Merci :)

Répondre

1

Je ne pense pas que vous devriez accéder à la session comme ça. Utilisez soit HibernateTemplate ou injectez SessionFactory dans vos haricots et appelez le getCurrentSession() dessus. Sinon, votre gestion des transactions ne sera pas gérée correctement.