为什么 POJO 旨在 serialised/deserialised 到 JSON 通常包含在 'entities' 包中? 'entities'是什么意思?

Why are POJOs intended to be serialised/deserialised to JSON commonly contained in an 'entities' package? What is the meaning of 'entities'?


问题相似性,即这不是重复的

N.B: 有很多问题看起来与这个相似:

Mapping POJO to Entities

What is an Entity? Why is it called Entity?

但它们要么引用 'Entity Framework' 要么引用“@Entity”注释(这显然是用来说明 class 可以映射到 table)。虽然我的问题可能看起来与这些相似,但略有不同,因此不应被视为重复。


我的实际问题

我正在使用一个代码库,其中有一个名为 'com.xxx.yyy.entities' 的包。这个包包含许多 classes,它们都具有基本相同的结构:

  1. 私人领域
  2. public 每个私有字段的吸气剂
  3. public 每个私有字段的设置器
  4. 一个'toString'方法。

下面是最简单的 classes 之一的示例:

public class Competition {
  private String id;
  private String name;
  public String getId()            { return id;        }
  public void setId(String id)     { this.id = id;     }
  public String getName()          { return name;      }
  public void setName(String name) { this.name = name; }
  public String toString() { 
    return "{" + "" + "id=" + getId() + "," + "name=" + getName() + "}"; 
  }
}

'entities' 包中包含的 classes 从来没有实际实例化,而是总是 serialised/deserialised to/from JSON(这个特定项目使用 GSON实现这一目标)。

我的问题是:

  1. 这里的 'entity' 到底是什么意思?
    • 它基本上只是意味着一个 class 打算被序列化 to/from JSON 吗?有没有比这个更具体的术语而不是非常通用的 'entity'?
  2. 这是 Java 个项目中的常见模式吗?

在传统意义上,"Entity" 是一个持久化到关系数据库的对象。通常(但不一定)实体映射到 table。在更一般的意义上,en Entity 表示到其他序列化对象(如 JSON)的映射的实现。

我认为这个词来自 Entity–relationship (ER) 模型,同样,这与您在数据模型(通常是关系数据库)中表示信息的方式有关。这不是一个仅 Java 的概念,因为 ER 数据建模早于 Java 几十年。