Autowiring 正在完美进行,一切正常。
但我需要知道如何使用 LocalSessionFactoryBean
在 HibernateTransactionManager
中注入(inject) session 工厂
LocalSessionFactoryBean
类和 SessionFactory
接口(interface)之间没有关系。
PFB我在项目中使用的代码
<beans:bean id="transactionManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<beans:property name="sessionFactory"
ref="localSessionFactoryBean" />
</beans:bean>
<beans:bean id="localSessionFactoryBean"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<beans:property name="dataSource" ref="dataSource" />
<beans:property name="hibernateProperties">
<beans:props>
<beans:prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect
</beans:prop>
<beans:prop key="hibernate.show_sql">true</beans:prop>
</beans:props>
</beans:property>
</beans:bean>
在上面的代码中,我在 HibernateTransactionManager
中为 sessionFactory
注入(inject) LocalSessionFactoryBean
。
请详细说明如何使用注解驱动从 LocalSessionFactoryBean
在 HibernateTransactionManager
中初始化 sessionFactory
。
最佳答案
LocalSessionFactoryBean
实现FactoryBean<SessionFactory>
。所以当 Spring 来临sessionFactory
到HibernateTransactionManager
它调用 getObject()
LocalSessionFactoryBean
的方法并得到 SessionFactory
.
public class LocalSessionFactoryBean extends HibernateExceptionTranslator
implements FactoryBean<SessionFactory> {
public SessionFactory getObject() {
return this.sessionFactory;
}
}
关于java - Hibernate SessionFactory 如何使用 LocalSessionFactoryBean Autowiring ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35600040/