Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.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
项目之间共享的Java域对象_Java_Spring_Maven - Fatal编程技术网

项目之间共享的Java域对象

项目之间共享的Java域对象,java,spring,maven,Java,Spring,Maven,我有两个具有相同域对象的Java项目。第一个项目是webapp的管理。第二个项目是webapp 我选择这种方法是为了在不停机的情况下为我的webapp部署管理 所以两个项目使用相同的数据库。我正在使用spring数据并用@Entity标记实体 我的问题是:有没有办法在每个项目中复制域对象? 例如,使用域对象创建另一个maven模块,并将其标记为依赖项。(但在这种情况下,@Entity仍然可以工作?。方法就像你说的那样-创建一个包含所有JPA类(@Entity类)的maven模块(通常称为data

我有两个具有相同域对象的Java项目。第一个项目是webapp的管理。第二个项目是webapp

我选择这种方法是为了在不停机的情况下为我的webapp部署管理

所以两个项目使用相同的数据库。我正在使用spring数据并用@Entity标记实体

我的问题是:有没有办法在每个项目中复制域对象?
例如,使用域对象创建另一个maven模块,并将其标记为依赖项。(但在这种情况下,@Entity仍然可以工作?。

方法就像你说的那样-创建一个包含所有JPA类(@Entity类)的maven模块(通常称为datamodel、infomodel或类似的东西)

这个模型可以是一个完全独立的第三个项目(更多的工作),或者,更可能的是,选择两个项目中的一个作为模块的“所有者”,而另一个项目将简单地将其列为依赖项。在这两种情况下,您都需要考虑版本兼容性(当您更新管理而不是webapp和实体发生更改时会发生什么情况?谁更新了数据库,如何确保旧代码仍然可以读/写它?)


至于工作,JPA类在它们自己的jar中工作得很好。

方法正如您所说的-创建一个包含所有JPA类(@Entity类)的maven模块(通常称为datamodel、infomodel或类似的东西)

这个模型可以是一个完全独立的第三个项目(更多的工作),或者,更可能的是,选择两个项目中的一个作为模块的“所有者”,而另一个项目将简单地将其列为依赖项。在这两种情况下,您都需要考虑版本兼容性(当您更新管理而不是webapp和实体发生更改时会发生什么情况?谁更新了数据库,如何确保旧代码仍然可以读/写它?)


至于工作,JPA类在它们自己的jar中工作得很好。

正如您所提出的,这是一个很好的近似值,将两个不同的maven项目分开

你要做的和我们的结构非常相似。这是一个使用Maven和Spring的多模块项目,是开源的,所以您可以查看它的结构,看看它是否有用


关于如何一步一步地实施,您还有另一个指南。希望能有所帮助。

就像您提出的一样,这是一个很好的近似值,将两个不同的maven项目分开

你要做的和我们的结构非常相似。这是一个使用Maven和Spring的多模块项目,是开源的,所以您可以查看它的结构,看看它是否有用


关于如何一步一步地实施,您还有另一个指南。希望有帮助。

您至少需要三个模块。 第1个-具有enitity注释的域类的域模块; 第二,应用程序本身取决于域模块; 第三,adm模块也取决于域

现在您有了一个多模块maven项目,您应该有一个正式列出其他三个作为其子模块的第四个项目


附言:抵制创建单独的git存储库和单独开发模块版本的诱惑。(只是一个建议)

您至少需要三个模块。 第1个-具有enitity注释的域类的域模块; 第二,应用程序本身取决于域模块; 第三,adm模块也取决于域

现在您有了一个多模块maven项目,您应该有一个正式列出其他三个作为其子模块的第四个项目


注意:抵制创建单独的git存储库和单独开发模块版本的诱惑。(只是一个建议)

您可以轻松地使用maven模块来实现常见功能。如果您已正确配置,@Entity和(其他所有相关内容)将毫无问题地工作。您可以轻松地使用maven模块实现常见功能。如果配置正确,@Entity和(其他所有相关内容)将正常工作