问题相似性,即这不是重复的
注意:有很多问题与此类似:
What is the exact meaning of the JPA @Entity annotation?
What is an Entity? Why is it called Entity?
但它们要么引用“ Entity Framework ”,要么引用“@Entity”注释(显然用于声明类可以映射到表)。虽然我的问题可能看起来与这些类似,但略有不同,因此不应被视为重复。
我的实际问题
我正在使用一个代码库,其中有一个名为“com.xxx.yyy.entities”的包。该包包含许多具有基本相同结构的类:
- 私有(private)字段
- 每个私有(private)字段的公共(public) getter
- 每个私有(private)字段的公共(public) setter
- “toString”方法。
最简单的类之一的示例如下:
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() + "}";
}
}
“实体”包中包含的类从未实际实例化,而是始终与 JSON 进行序列化/反序列化(此特定项目使用 GSON 来实现此目的)。
我的问题是:
- 这里的“实体”到底是什么意思?
- 它基本上只是意味着一个旨在与 JSON 序列化的类吗?难道没有比极其通用的“实体”更具体的术语了吗?
- 这是 Java 项目中的常见模式吗?
最佳答案
在传统意义上,“实体”是持久保存到关系数据库的对象。通常(但不一定)实体映射到表。从更一般的意义上来说,en Entity 表示映射到其他序列化对象(例如 JSON)的实现。
我认为这个词来自Entity–relationship (ER) 模型,这又与如何在数据模型(通常是关系数据库)中表示信息有关。这不仅仅是 Java 的概念,因为 ER 数据建模比 Java 早了几十年。
关于java - 为什么 POJO 需要序列化/反序列化为通常包含在 'entities' 包中的 JSON? 'entities'是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54288510/