我们正在开发一个带有RESTful API(服务器)的webapp(客户端)。两个项目都使用相同的域,因此我创建了包含所有POJO的第三个项目,以便我可以与我的团队共享。
问题在于,在服务器端,我正在映射这些POJO,以便我可以轻松地将它们保存到数据库中。
@Document(collection="companies")
public class Company {
@Id
private final String nif;
@Indexed(unique=true)
private String name;
因此,如果我的团队没有意识到我正在映射POJO以及保存额外的依赖项,我将如何共享域。
答案 0 :(得分:0)
我不熟悉spring,但其他框架允许你使用mixins。这将允许您在启动时覆盖或添加注释到pojo。
这将允许您仅分发pojo,然后在服务器上使用mixins来应用注释
答案 1 :(得分:0)
我的解决方案正是@dunni所指出的:使用DTO与实体+ MapStruct分离(信用卡为@dimitrisli)。
所以我的共享POJO成为DTO(没有注释),在服务器端我将使用实体(带注释的pojos)。使用MapStruct从Dto转换为实体,反之亦然。