是的,您可以访问两个文件并使用它们创建会话工厂。但是不要在hibernate配置文件中执行此操作。我建议在应用程序上下文中执行此操作,因为首先,您的hibernate.cfg.xml不包含声明Bean所需的名称空间,其次是。它需要由上下文配置器读取,以便可以实例化bean。
在应用程序上下文中,您可以使用hibernate.properties文件创建数据源,如下所示。
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
p:location="{location of hibernate properties files}" />
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${db.driverClassName}"/>
<property name="jdbcUrl" value="${db.databaseurl}"/>
....other properties...
</bean>
最后,像这样创建一个会话工厂
<beans:bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionfactorybean">
<beans:property name="dataSource" ref="dataSource" />
<beans:property name="configLocation">
<beans:value>classpath:hibernate.cfg.xml</beans:value>
</beans:property>
<beans:property name="configurationClass">
<beans:value>org.hibernate.cfg.AnnotationConfiguration</beans:value>
</beans:property>