Nik*_*lai 6 java json jpa jersey
这就是我在一个项目中看到的:JPA 实体类用于将对象持久保存到数据库。但是当我们创建 Jersey 端点时,我们通常会使用并生成 JSON。因此,某种 POJO 用于表示我们想要发送或接收的数据。
因此,每次处理 Jersey 请求时,都会使用“assembler”类从实体对象组装 POJO(反之亦然)。所以,流程是这样的。实体对象 -> 汇编器服务 -> JSON。
现在我正在开始一个新项目,我不确定这种方法是否是最好的方法。从一个角度来看,它允许控制我想要以 JSON 形式返回的内容,并将这些表示与持久性类分开。另一方面,对我来说,它看起来像是一个可以避免的额外层。
有没有办法让翻译变得更容易(也许是自动的)?
更新:感谢您的回答。但 POJO 到 JSON 的映射是由 Jersey 自动完成的。我真正想知道的是,是否有一种在不使用中间 POJO 的情况下将实体类(带有 JPA/Hibernate 注释的 Java 类)映射到 JSON 的好方法?
您可以使用有时称为投影的东西。如果您不想在 REST API 上公开实体上的字段,则可以在实体中实现一个仅具有 getter 子集的接口,然后仅将这些部分序列化为 json。
您可以查看Spring Data REST以及它是如何完成的。