多个Hibernate数据源

时间:2012-10-25 16:20:54

标签: java database spring hibernate sessionfactory

我有一个项目,目前在同一个数据库服务器上使用3个数据库。其中一个数据库现在已经转移到另一个物理服务器,我正在尝试让hibernate来处理这个问题但是很难找到从哪里开始 - 我应该复制数据源,sessionfactory,hibernatetemplate和事务管理器,然后尝试管理这个在代码中?我正在使用Spring 3和Hibernate 3.5。这是常见的事吗?任何建议都将不胜感激。

如果它有助于我的配置目前看起来像这样:

<bean id="datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://localhost:3306/DatabaseOne"/>
    <property name="username" value="username"/>
    <property name="password" value="password"/>
</bean>

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
    <property name="dataSource" ref="datasource"/>
    <property name="exposeTransactionAwareSessionFactory"><value>true</value></property>
    <property name="annotatedClasses">
        <list>
            <value>domain.DatabaseOneObject</value>
            <value>domain.DatabaseTwoObject</value>
            <value>domain.DatabaseThreeObject</value>
        </list>
    </property>
</bean>

<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
    <property name="sessionFactory" ref="sessionFactory"/>
</bean>

<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory" />
</bean>

1 个答案:

答案 0 :(得分:0)

也许您可以使用Sequoia(以前称为C-JDBC)将您的模式从不同的数据库集群到一个逻辑数据库中。

相关问题