【问题标题】:Multiple Hibernate data sources多个 Hibernate 数据源
【发布时间】:2012-10-15 21:27:23
【问题描述】:

我有一个项目,目前在同一数据库服务器上使用 3 个数据库。一个数据库现在已移动到另一台物理服务器,我正在尝试让休眠状态来处理这个问题,但很难确定从哪里开始 - 我应该复制数据源、会话工厂、休眠模板和事务管理器,然后尝试管理这个在代码中?我正在使用 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>

【问题讨论】:

  • 以前怎么管理3个数据库?我假设您已经在使用 3 个数据源,因为据我所知,一个数据源只能与数据库一起使用。
  • 我不确定我是否对数据库而不是目录使用了不正确的术语。目前我用@Table(name="DatabaseTwoObject", catalog="DatabaseTwo")注释域对象仍然使用单个数据源
  • 为什么将数据库移动到其他位置?
  • 我们每个客户端都有一个数据库服务器 - 每个服务器 3 个数据库,4 个客户端。所有服务器的瓶颈是 DatabaseThree,因此我们现在有第 5 个(高性能)服务器来托管 DatabaseThree,而其他 4 个服务器现在将有 2 个数据库

标签: java database spring hibernate sessionfactory


【解决方案1】:

也许您可以使用 Sequoia(以前的 C-JDBC)将您的架构从不同的数据库聚集到一个逻辑数据库中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-26
    • 2014-07-24
    • 2015-09-01
    • 2011-04-20
    • 2013-12-30
    • 2014-05-01
    • 1970-01-01
    • 2021-09-09
    相关资源
    最近更新 更多