这就是我在一个项目中看到的: JPA实体类用于将对象持久化到数据库。 但是当我们创建Jersey端点时,我们通常会消耗并生成JSON。所以,某种POJO被用来表示我们想要发送或接收的数据。因此,每次处理泽西岛请求时,“汇编程序”类都用于从实体对象中组装POJO(反之亦然)。所以,流量就是这样的。 实体对象 - >汇编器服务 - > JSON。将实体对象转换为POJO,反之亦然的最佳方式?
现在我正在开始一个新项目,我不确定这个方法是否是最好的。从一个角度来看,它允许控制我想返回的JSON并将这些表示与持久化类分离。另一方面,它看起来像我可以避免的一个额外的层。
有没有办法让这个翻译更容易(也许是自动的)?
更新: 感谢您的回答。但是POJO到JSON映射是由Jersey自动完成的。我真正想知道的是,如果有一种将实体类(具有JPA/Hibernate注释的Java类)映射到JSON而不使用中间POJO的好方法?
不确定,但你的意思是像推土机? –
大多数像Jackson或Jersey这样的映射技术自动将Object转换为JSON,反之亦然,您只需要定义一个类似于您期望的JSON的Java类。 – ravthiru
json to pojo:http://www.jsonschema2pojo.org/ –