几个共享相同数据库的项目(Spring JAVA)

时间:2018-02-21 16:22:59

标签: java spring git

我面临一个问题,不确定最好的方法是什么,

所以我有两个带有Spring项目的git存储库,它们必须共享同一个数据库。 (两者都是带休眠的spring项目。)

其中一个主要项目是所谓的 MASTER ,它应该修改所有Hibernate实体,其他我将调用 SLAVE 这是次要项目,需要只读取相同的数据库。

以下是我所拥有的小插图。

enter image description here

因此,当我意识到需要在主服务器和从服务器中保留实体的副本时,就会出现问题。

我发现了两个解决此问题的方法。

  1. 使用 git子模块。我可以将我的实体作为一个独立的子模块。
  2. 从实体类构建JAR并将其包含在两个项目中。
  3. 这两种解决方案都不符合我的要求:

    子模块的解决方案并不好,因为每当我从MASTER提交任何内容时,我都希望SLAVE跟踪这些更改。请注意,我有两个项目,主人,分期和生产的git分支。因此,所有分支都应该具有相应的实体版本。

    罐子的解决方案会起作用,我发现它并不好看,因为我应该一直构建它们并为每个项目添加一个依赖项。

    这些项目的开发是相互独立完成的。

    拜托,您能否就此问题分享您的意见? 我确信我不仅是那个努力实现同样目标的人。

1 个答案:

答案 0 :(得分:2)

您应该考虑将jar发布到maven存储库,以便在项目之间轻松交换。你甚至可以像sonar nexus一样托管你自己。 https://www.sonatype.com/nexus-repository-sonatype

就个人而言,我认为当你有多个项目时,管理版本会非常烦人。特别是在测试某些东西时,你必须创建一个新的jar然后一遍又一遍地发布它。但是,您的项目可以重建,您可以控制哪个项目/模块可以使用更新版本的实体依赖项。