Hibernate里sessionfactory 和configuration,datasource之间的关系问题

Hibernate 的工作流程
1.应用程序先调用Configuration类,该类读取Hibernate配置文件及映射文件中的信息;
2.用这些信息生成一个SessionFactory对象,从SessionFactory对象生成一个Session对象;

hibernate在spring xml文件里的配置

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

<property name="dataSource" ref="dataSource"></property>

<property name="configLocation">

<value>

classpath:hibernate.cfg.xml

</value>

</property>

</bean>

从工作流程看,configuration读配置文件信息后生成sessionfactory
可是beans.xml配置里,configuration配置文件竟然是sessionfactory的属性
另外,sessionfactory 是属于datasource的一种

图片描述
而从xml配置里看,datasource是sessionfactory的属性

怎么感觉关系都倒转了?

回答:

org.springframework.orm.hibernate3.LocalSessionFactoryBean 这个是由spring封装的对象,并非是hibernate提供的。楼主可以阅读一下源码,实现与正常的一样。通过Configuration构建SessionFactory

以上是 Hibernate里sessionfactory 和configuration,datasource之间的关系问题 的全部内容, 来源链接: utcz.com/p/171705.html

回到顶部