将实体对象转换为POJO的最佳方式,反之亦然



这是我在一个项目中看到的:JPA Entity类用于将对象持久化到数据库。但是当我们创建Jersey端点时,我们通常使用并生成JSON。因此,使用某种POJO来表示我们想要发送或接收的数据。

因此,每次处理Jersey请求时,都会使用"assembler"类从实体对象组装POJO(反之亦然)。流是这样的。实体对象->汇编服务-> JSON.

现在我开始一个新项目,我不确定这种方法是否是最好的。从一个角度来看,它允许控制我想要作为JSON返回的内容,并将这些表示与持久性类分开。另一方面,对我来说,它看起来像是一个可以避免的额外层。

有没有办法让这个翻译更容易(也许是自动的)?

更新:谢谢你的回答。但是POJO到JSON的映射是由Jersey自动完成的。我真正想知道的是,如果有一个很好的方法来映射实体类(Java类与JPA/Hibernate注释)到JSON不使用中间pojo ?

您可以使用有时称为投影的方法。如果实体上有你不想在REST API上公开的字段,你可以在实体中实现一个只有getter子集的接口,然后只将这些部分序列化到json。

你可以看看Spring Data REST以及它是如何实现的

最新更新