Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
共享同一数据库的多个项目(SpringJava)_Java_Spring_Git - Fatal编程技术网

共享同一数据库的多个项目(SpringJava)

共享同一数据库的多个项目(SpringJava),java,spring,git,Java,Spring,Git,我面临着一个问题,不知道最好的办法是什么 因此,我有两个git存储库,其中包含Spring项目,它们必须共享同一个数据库。(两者都是带有hibernate的spring项目) 其中一个是主项目,即所谓的MASTER,它应该修改所有Hibernate实体,另一个我将调用SLAVE,它是辅助项目,只需要从同一数据库中读取 这是我的小插图 因此,当我意识到需要在主实体和从实体中保留实体副本时,问题就出现了 我找到了两种解决这个问题的方法 使用git子模块。我可以让我的实体成为一个独立的子模块 从实体

我面临着一个问题,不知道最好的办法是什么

因此,我有两个git存储库,其中包含Spring项目,它们必须共享同一个数据库。(两者都是带有hibernate的spring项目)

其中一个是主项目,即所谓的MASTER,它应该修改所有Hibernate实体,另一个我将调用SLAVE,它是辅助项目,只需要从同一数据库中读取

这是我的小插图

因此,当我意识到需要在主实体和从实体中保留实体副本时,问题就出现了

我找到了两种解决这个问题的方法

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

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

    JAR的解决方案会起作用,只是我觉得它不够好和可靠,因为我应该一直构建它们,并为每个项目添加依赖项

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

    请你谈谈你对这个问题的看法好吗?
    我确信,我并不是唯一一个试图实现这一点的人。

    < P>你应该考虑将你的JAR发布到Maven储存库,以便于项目之间的交换。你甚至可以像sonar nexus一样拥有自己的主机


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

    我赞成jar方法。用它制作一个maven模块,你也可以很容易地跟踪版本控制。你已经做过类似的事情了吗?我应该为每个分支制作3个不同的maven模块吗?我仍然希望有其他的解决方案,因为这仍然会使事情变得复杂。