在使用不同JPA实现的项目之间共享JPA实体

时间:2014-06-06 12:15:47

标签: java maven jpa

我有两个不同的项目。让我们调用一个Writer,另一个调用Reporter

Writer处理作业,并保留JPA实体。

Reporter,读取JPA实体,并显示HTML报告。

两个项目都写入/读取相同的数据库和表。

Reporter但是,使用JPA实现hibernate-jpa-2.1-api.1.0.0.Final

Writer使用JPA实施hibernate-jpa-2.0-api.1.0.1.Final

甚至还有一些Spring Framework注释,例如@Configurable 此处Reader使用Spring 4.0,而Writer使用Spring 3.2.4

我希望拥有的是一个共享的“库”,并且在构建时,每个项目都会编译“库”中的.java个文件。

两个项目都使用Maven 3.

我知道这可能不是最佳做法,但

  • 似乎比在2个项目中具有重复/相同的代码更好
  • 我们目前不会升级Writer's maven依赖项。

这可能吗?

1 个答案:

答案 0 :(得分:0)

我将介绍另一个Maven项目 - core.jar。移动所有公共类(例如所有实体类和DAO。

然后将core.jar依赖项添加到Writer和Reporter项目中。

这很常见,你可以重复使用只进行一次所有更改的类,并在必要时有所不同。