Java 多个Hibernate数据源
我有一个项目,目前在同一个数据库服务器上使用3个数据库。其中一个数据库现在已被移动到另一个物理服务器,我正试图让hibernate来处理这一问题,但仍在努力确定从何处开始—我是否应该复制datasource、sessionfactory、hibernatetemplate和transaction manager,然后尝试在代码中管理它们?我正在使用Spring3和Hibernate3.5。这是一件平常的事吗?任何建议都将不胜感激 如果有帮助,我的配置当前如下所示:Java 多个Hibernate数据源,java,database,spring,hibernate,sessionfactory,Java,Database,Spring,Hibernate,Sessionfactory,我有一个项目,目前在同一个数据库服务器上使用3个数据库。其中一个数据库现在已被移动到另一个物理服务器,我正试图让hibernate来处理这一问题,但仍在努力确定从何处开始—我是否应该复制datasource、sessionfactory、hibernatetemplate和transaction manager,然后尝试在代码中管理它们?我正在使用Spring3和Hibernate3.5。这是一件平常的事吗?任何建议都将不胜感激 如果有帮助,我的配置当前如下所示: <bean id="da
<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>
真的
domain.DatabaseOneObject
domain.DatabaseTwoObject
domain.DatabaseThreeObject
也许您可以使用Sequoia(以前)将不同数据库中的模式集群到一个逻辑数据库中。以前您如何管理3个数据库?我假设您已经使用了3个数据源,因为据我所知,一个数据源只能用于一个数据库。我不确定是否在数据库而不是目录中使用了错误的术语。目前,我使用@Table(name=“DatabaseTwoObject”,catalog=“databasetwoo”)
注释域对象,但仍然使用单个数据源。为什么要将数据库移动到其他位置?我们每个客户端有一个db服务器-每个服务器有3个数据库,4个客户端。所有服务器上的瓶颈都是DatabaseThree,因此我们现在有第5台(高性能)服务器来承载DatabaseThree,其他4台服务器上现在将有2个数据库