对于单个数据库,我可以使用多个hibernate配置文件吗?

时间:2014-11-14 09:42:59

标签: hibernate

1.对于单个数据库,我可以使用多个hibernate配置文件吗?     2.DatabaseSession工厂适用于整个应用程序。这样就可以为单个数据库创建一个多个DatabaseSession工厂。

有人能澄清我的疑问吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

1)对于单个项目或DB,可以使用多个hibernate配置文件。 Thisthis表明了这一点。

2)可以为单个数据源或单个数据库创建多个会话工厂。首先在applicationContext-database.xml中将DB详细信息定义为:



<bean id="dbName_dataSource"
		class="required_dataSource_Type"
		destroy-method="required_type">
		<property name="driverClassName" value="required_driver_name" />    
		<property name="url" value="" />    
		<property name="username" value="" />    
		<property name="password" value="" />       
		<property name="initialSize" value="" />    
		<property name="minIdle" value="" />    
		<property name="maxIdle" value="" />    
		<property name="maxActive" value="" />
		<property name="testOnBorrow" value="" />
		<property name="validationInterval" value=""/>
		<property name="validationQuery" value=""/> 
	</bean>
&#13;
&#13;
&#13;

对于上述数据源,可以在applicationContext-database XML中创建多个SessionFactories,如下所示:

&#13;
&#13;
<bean id="sessionFactory1"
		class="required_SessionFactory_Type">
		<property name="dataSource" ref="dbName_dataSource" />
		<property name="hibernateProperties">
		...required_additional_details_to_be_provided
	</bean>

<bean id="sessionFactory2"
		class="required_SessionFactory_Type">
		<property name="dataSource" ref="dbName_dataSource" />
		<property name="hibernateProperties">
		...required_additional_details_to_be_provided	
	</bean>
&#13;
&#13;
&#13;

在运行时,应检索适当的SessionFactory,并将其用于执行查询。