【问题标题】:JPA: multiple datasource sharing entities?JPA:多个数据源共享实体?
【发布时间】:2026-01-15 05:10:02
【问题描述】:

我有四个数据库,每个都有一个“客户”表,实际上它们是使用多个数据库的旧 php 应用程序的一部分,它测试数据库的存在以激活模块,所以如果有一个名为“客户关怀”的数据库显示正确的界面并使用此数据库中的表格。

使用 JPA,有没有办法模仿这种行为?我的意思是,让一个客户实体在多个数据库之间共享?

我在互联网上进行了搜索,但我只找到了在应用程序启动时动态连接到不同数据库的部分示例,没有同时使用多个数据源的示例,也没有在数据源之间共享实体的示例。

【问题讨论】:

  • 客户表的架构在所有数据库中是否相同?

标签: java database jpa jakarta-ee


【解决方案1】:

有一篇关于 Spring IO 的好文章讨论了如何使用 AbstractRoutingDataSource 从多个 DataSource 中提取数据。希望这会为您指明正确的方向。

http://spring.io/blog/2007/01/23/dynamic-datasource-routing/

【讨论】:

  • 它适用于弹簧,但如果我不使用弹簧怎么办?有没有“标准”的方式来实现它?