Hibernate SessionFactory如何使用LocalSessionFactoryBean自动装配?

时间:2016-02-24 10:51:17

标签: java spring hibernate sessionfactory

自动装配正在发生,一切正常。 但我需要知道如何使用HibernateTransactionManagerLocalSessionFactoryBean中注入会话工厂 LocalSessionFactoryBean类和SessionFactory接口之间没有关系。

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>

在上面的代码中,我正在LocalSessionFactoryBeansessionFactory注入HibernateTransactionManager

请解释sessionFactory如何使用{1}} HibernateTransactionManager初始化来自LocalSessionFactoryBean的详细信息。

1 个答案:

答案 0 :(得分:0)

LocalSessionFactoryBean实施FactoryBean<SessionFactory>。因此,当Spring将sessionFactory设置为HibernateTransactionManager时,它调用getObject()的{​​{1}}方法并获取LocalSessionFactoryBean

SessionFactory

What's a FactoryBean?