spring+hibernate访问多个数据库的配置问题,为什么程序总是默认只访问其中一个数据库?

xiaoge22275 2008-01-12 05:24:24
一共有两个applicationContext.xml,分别配置了两个dataSource和两个sessionFactory,但程序总是默认访问其中一个数据源。一旦访问的数据在另一个得不到的数据源时,将导致找不到表或Hibernate映射的错误。。。

配置分别如下:

applicationContext-1.xml -->

<bean id="dataSource_1"
class="com.mchange.v2.c3p0.ComboPooledDataSource">
... ...
</bean>
<bean id="sessionFactory_1"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource_1"/>
</property>
<property name="mappingResources">
<list>
<value>...</value>
<value>...</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
</bean>
**************************************************************************************
applicationContext-2.xml -->

<bean id="dataSource_2"
class="com.mchange.v2.c3p0.ComboPooledDataSource">
... ...
</bean>
<bean id="sessionFactory_2"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource_2"/>
</property>
<property name="mappingResources">
<list>
<value>...</value>
<value>...</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
</bean>
...全文
100 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoge22275 2008-01-13
  • 打赏
  • 举报
回复
是两个名字嘛,我整合成一个文件时,什么都没改。算了,先用一个吧,然后再慢慢找答案。谢谢~!
dgqbcht 2008-01-12
  • 打赏
  • 举报
回复
你放在两个文件里,起码也得起不同的名字,不然服务器认哪个不好说,另外就是确保两个配置文件都被正确加载。
xiaoge22275 2008-01-12
  • 打赏
  • 举报
回复
谢谢,这样的话就真的行了耶~~
但想分开两个配置文件。。。好管理。
有没有解决的办法?
dgqbcht 2008-01-12
  • 打赏
  • 举报
回复
你可用放在一个xml里,起两个不同的名,根据依赖的不同,注入不同的数据源试试。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧