繁体   English   中英

Hibernate SessionFactory如何使用LocalSessionFactoryBean自动连线?

[英]How Hibernate SessionFactory autowired using LocalSessionFactoryBean?

自动装配进行得很完美,并且一切正常。 但是我需要知道如何使用LocalSessionFactoryBeanHibernateTransactionManager注入会话工厂,尽管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>

在上面的代码中,我在HibernateTransactionManagersessionFactory注入LocalSessionFactoryBean

请详细说明如何使用注释驱动的HibernateTransactionManagerLocalSessionFactoryBean初始化sessionFactory

LocalSessionFactoryBean实现FactoryBean<SessionFactory> 因此,当Spring将sessionFactory设置为HibernateTransactionManager它将调用LocalSessionFactoryBean getObject()方法并获取SessionFactory

public class LocalSessionFactoryBean extends HibernateExceptionTranslator
        implements FactoryBean<SessionFactory> {

    public SessionFactory getObject() {
        return this.sessionFactory;
    }

}

什么是FactoryBean?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM