Sto cercando di ottenere gli oggetti Hibernate Configuration e SessionFactory definiti Spring nel mio codice non Spring. Quello che segue è la definizione nel mio file applicationContext.xml:Come posso ottenere l'oggetto Hibernate Configuration da Spring?
Codice:
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<prop key="hibernate.cglib.use_reflection_optimizer">true</prop>
<prop key="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</prop>
</props>
</property>
<property name="dataSource">
<ref bean="dataSource"/>
</property>
</bean>
Se ora io chiamo getBean ("sessionFactory"), sono tornato un oggetto $ Proxy0 che sembra essere una proxy l'oggetto Hibernate SessionFactory. Ma non è quello che voglio - ho bisogno del LocalSessionFactoryBean stesso perché ho bisogno di accedere alla Configurazione così come a SessionFactory.
Il motivo per cui ho bisogno dell'oggetto Configuration è che il nostro framework è in grado di utilizzare il modello dinamico di Hibernate per inserire automaticamente i mapping in fase di runtime; questo richiede che cambiamo la configurazione e ricostruiamo SessionFactory. In realtà, tutto ciò che stiamo cercando di fare è ottenere la configurazione di Hibernate che esiste già in primavera, in modo che quelli dei nostri clienti che hanno già queste informazioni in Spring non abbiano bisogno di duplicarli in un file hibernate.cfg.xml per usa le nostre funzionalità di ibernazione.
E come si ricostruisce la sessioneFactory? E come ti assicuri che tutte le transazioni esistenti siano terminate prima di chiamare destroy? – banterCZ