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

标签 java json jpa jersey

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

因此,每次处理 Jersey 请求时,“assembler”类用于从实体对象组装 POJO(反之亦然)。所以,流程是这样的。 实体对象 -> 汇编器服务 -> JSON。

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

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

更新: 感谢您的回答。但是 POJO 到 JSON 的映射是由 Jersey 自动完成的。我真正想知道的是,是否有一种无需使用中间 POJO 即可将实体类(带有 JPA/Hibernate 注释的 Java 类)映射到 JSON 的好方法?

最佳答案

您可以使用有时称为投影的东西。如果实体上有您不想在 REST API 上公开的字段,您可以在实体中实现一个接口(interface),该接口(interface)只有一部分 getter,然后仅将这些部分序列化为 json。

你可以看看Spring Data REST以及它是如何完成的。

关于java - 将实体对象转换为 POJO 的最佳方式,反之亦然?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38974200/

相关文章:

java - 如何禁用依赖于另一个复选框的复选框?

java - 通过进程ID获取JVM的内存详情

javascript - 如何更改以下代码以不使用 eval?

javascript - 动态创建一个对象的实例

hibernate - 是否可以使用 JPA 从 javax.persistence.Query.getResultList() 流式传输结果?

java - 在java中使用自签名证书

java - 选择特定文本值后的行 SQL Server

javascript - 使用 JavaScript 解析多维数据

jsp - JSP中如何实现分页?

java - 在 JPA 中处理 ID 表的最佳解决方案是什么?