1.对于单个数据库,我可以使用多个hibernate配置文件吗? 2.DatabaseSession工厂适用于整个应用程序。这样就可以为单个数据库创建一个多个DatabaseSession工厂。
有人能澄清我的疑问吗?提前谢谢。
答案 0 :(得分:0)
1)对于单个项目或DB,可以使用多个hibernate配置文件。 This和this表明了这一点。
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;
对于上述数据源,可以在applicationContext-database XML中创建多个SessionFactories,如下所示:
<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;
在运行时,应检索适当的SessionFactory,并将其用于执行查询。