如何在没有映射的情况下共享POJO?

时间:2017-02-24 12:48:23

标签: java spring orm

我们正在开发一个带有RESTful API(服务器)的webapp(客户端)。两个项目都使用相同的域,因此我创建了包含所有POJO的第三个项目,以便我可以与我的团队共享。

问题在于,在服务器端,我正在映射这些POJO,以便我可以轻松地将它们保存到数据库中。

@Document(collection="companies")
public class Company {

    @Id
    private final String nif;
    @Indexed(unique=true)
    private String name;

因此,如果我的团队没有意识到我正在映射POJO以及保存额外的依赖项,我将如何共享域。

2 个答案:

答案 0 :(得分:0)

我不熟悉spring,但其他框架允许你使用mixins。这将允许您在启动时覆盖或添加注释到pojo。

这将允许您仅分发pojo,然后在服务器上使用mixins来应用注释

答案 1 :(得分:0)

我的解决方案正是@dunni所指出的:使用DTO与实体+ MapStruct分离(信用卡为@dimitrisli)。

所以我的共享POJO成为DTO(没有注释),在服务器端我将使用实体(带注释的pojos)。使用MapStruct从Dto转换为实体,反之亦然。