简体   繁体   English

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

[英]How Hibernate SessionFactory autowired using LocalSessionFactoryBean?

Autowiring is happening perfectly and everything works fine. 自动装配进行得很完美,并且一切正常。 But i need to know how session factory is injected in HibernateTransactionManager using LocalSessionFactoryBean though no relation between LocalSessionFactoryBean class and SessionFactory interface. 但是我需要知道如何使用LocalSessionFactoryBeanHibernateTransactionManager注入会话工厂,尽管LocalSessionFactoryBean类和SessionFactory接口之间没有关系。

PFB the code i used in my project 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>

In the above code, I am injecting LocalSessionFactoryBean for sessionFactory in HibernateTransactionManager . 在上面的代码中,我在HibernateTransactionManagersessionFactory注入LocalSessionFactoryBean

Please, explain how sessionFactory is initialized in HibernateTransactionManager from LocalSessionFactoryBean using annotation driven in detail. 请详细说明如何使用注释驱动的HibernateTransactionManagerLocalSessionFactoryBean初始化sessionFactory

LocalSessionFactoryBean implements FactoryBean<SessionFactory> . LocalSessionFactoryBean实现FactoryBean<SessionFactory> So when Spring sets sessionFactory to the HibernateTransactionManager it calls getObject() methods of LocalSessionFactoryBean and gets SessionFactory . 因此,当Spring将sessionFactory设置为HibernateTransactionManager它将调用LocalSessionFactoryBean getObject()方法并获取SessionFactory

public class LocalSessionFactoryBean extends HibernateExceptionTranslator
        implements FactoryBean<SessionFactory> {

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

}

What's a FactoryBean? 什么是FactoryBean?

暂无
暂无

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

相关问题 Spring 5 + Hibernate 5:SessionFactory 如何与 LocalSessionFactoryBean 自动装配 - Spring 5 + Hibernate 5 : How SessionFactory is getting Autowired with LocalSessionFactoryBean 如何从 org.springframework.orm.hibernate4.LocalSessionFactoryBean 获取 Hibernate SessionFactory? - How to get the Hibernate SessionFactory from org.springframework.orm.hibernate4.LocalSessionFactoryBean? 无法从 org.springframework.orm.hibernate5.LocalSessionFactoryBean 实例化 sessionFactory - Failed to instantiate sessionFactory From org.springframework.orm.hibernate5.LocalSessionFactoryBean LocalSessionFactoryBean无法作为SessionFactory注入 - LocalSessionFactoryBean cannot be injected as SessionFactory org.springframework.orm.hibernate4.LocalSessionFactoryBean无法转换为org.hibernate.SessionFactory - org.springframework.orm.hibernate4.LocalSessionFactoryBean cannot be cast to org.hibernate.SessionFactory 在Hibernate SessionFactory中使用JDBCTemplate吗? - Using JDBCTemplate with a Hibernate SessionFactory? 即使没有可用的 SessionFactory 实例,Spring @Autowired 如何绑定 SessionFactory 对象 - How Spring @Autowired binds the SessionFactory object even if there is no SessionFactory instance available 使用Spring和Hibernate初始化sessionFactory - initializing sessionFactory using spring with hibernate 如何在WEBLOGIC 9.2服务器中使用JNDI访问Hibernate的SessionFactory? - How to access SessionFactory of Hibernate using JNDI in WEBLOGIC 9.2 server? 从没有HibernateTemplate的LocalSessionFactoryBean获取SessionFactory - Get a SessionFactory from LocalSessionFactoryBean without HibernateTemplate
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM