Java 如何处理包含相同数据的多个架构

Java 如何处理包含相同数据的多个架构,java,mysql,database,Java,Mysql,Database,我正在研究一个预测工作中足球比赛的系统。我有几个预先存在的数据库,每个数据库包含大致相同的数据,尽管一些供应商提供的数据比其他供应商多。我的应用程序使用一组核心字段,所有供应商都提供这些字段: homeTeamId、AwayTeam、fullTimeHomeGoals、fullTimeAwayGoals、homeShotsOnTarget、awayShotsOnTarget等 因为这些数据库来自不同的来源,所以字段名称也不同。此外,其中一些数据是主观的(对目标的射击定义各不相同)。这意味着我需要

我正在研究一个预测工作中足球比赛的系统。我有几个预先存在的数据库,每个数据库包含大致相同的数据,尽管一些供应商提供的数据比其他供应商多。我的应用程序使用一组核心字段,所有供应商都提供这些字段:

homeTeamId、AwayTeam、fullTimeHomeGoals、fullTimeAwayGoals、homeShotsOnTarget、awayShotsOnTarget等

因为这些数据库来自不同的来源,所以字段名称也不同。此外,其中一些数据是主观的(对目标的射击定义各不相同)。这意味着我需要知道匹配来自哪个供应商。也有重叠,因为几个供应商将拥有特定匹配的数据

目前,我们一次使用一个数据源,但我们将根据该供应商在未来所涵盖的竞争同时使用两个或多个供应商(通过基于竞争选择,我们消除了重复匹配的问题)

我的解决方案是使用XML存储字段名的映射。例如

<Schemas>
    <Schema>
        <SchemaName>VendorA</SchemaName>
        <TableName>VendorA_MatchResults</TableName>
        <FullTimeHomeGoals>homeFullTimeScore</FullTimeHomeGoals>
        Etc...
    </Schema>
</Schemas>

文多拉
VendorA_匹配结果
homeFullTimeScore
等
然后,每当我需要sql查询的字段时,查看用户在作业配置XML中指定的供应商,并查找与该数据供应商相关的字段。当我们谈到使用来自两个供应商的结果时,我计划使用一个视图,并将其作为XML中的新供应商对待

这一定是一个相当普遍的问题,但我在网上找不到任何讨论如何解决它的内容。我的直觉告诉我DB应该能够在内部处理这个问题,也许是从一个角度

如果有任何建议或想法,我将不胜感激


作为背景,我正在使用MySql和Java开发这个应用程序。

我认为您所做的很好

您应该为每个模式创建一个存储这些配置的类。将这些配置存储在
映射中
。确保这些条目及其配置来自配置文件,就像您所做的那样

我在这里推荐,它让你的生活更轻松。每次你想添加新供应商时,只需编辑此配置文件,然后重新启动你的应用程序。

听起来像是个问题。