开发者社区> 问答> 正文

系统的表分布在两个数据库中,如何配置数据源 : 配置报错 

在做的系统,他必须调用老系统的一些表取得数据,而我新系统的表不能放入到老系统中,所以得自己建立一个数据库,这样就要配置两个数据源,我在applicationContext.xml配置了两个数据源,同样配置了两个sessionFactory 两个transactionManager 两个HibernateTemplate

  启动服务器问题来了,老系统中的表对应的类映射了新系统中的表对应类,如

class Order{

  private set<Product> pros;

}

  Product类 是新系统中的,老系统配置的数据源所得到的sessionFactory,session里面没有Product的数据,就不能初始化Product bean了,报错了

 org.springframework.beans.factory.BeanCreationException: Use of @OneToMany or @ManyToMany targeting an unmapped class

  求解,如何配置数据源,使得老新系统可以共享两个sessionFactory

展开
收起
kun坤 2020-06-03 14:32:44 575 0
1 条回答
写回答
取消 提交回答
  • 那就写两个hibernate.xml的配置文件,不过 我还是建议使用跨数据库的JTA事务,万一以后 你需要修改老数据库的数据,估计你就抓狂了######

    引用来自“屁屁果”的答案

    那就写两个hibernate.xml的配置文件,不过 我还是建议使用跨数据库的JTA事务,万一以后 你需要修改老数据库的数据,估计你就抓狂了
    如何写Hibernate配置文件?才能使一个类里面可以访问两个数据源? ######把这个类COPY一下,修改一下名字......然后再copy改hbm.xml文件######这个只能建立两个数据源,在代码中进行调用,如果有更新,插入动作的话,要采用分布式事务。
    2020-06-04 10:35:08
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
DTCC 2022大会集锦《云原生一站式数据库技术与实践》 立即下载
阿里云瑶池数据库精要2022版 立即下载
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载