Почему POJO предназначены для сериализации / десериализации в JSON, которые обычно содержатся в пакете «entity»? Что означает «сущности»? - PullRequest
0 голосов
/ 21 января 2019

Схожесть вопросов, т.е. это не дубликат

Примечание: существует ряд вопросов, которые похожи на этот:

Отображение POJO в сущности

Каков точный смысл аннотации JPA @Entity?

Что такое сущность?Почему он называется Entity?

Но они либо ссылаются на Entity Framework, либо на аннотацию @Entity (которая, очевидно, используется для указания того, что класс может быть сопоставлен с таблицей).Хотя мой вопрос может показаться похожим на них, он немного отличается и поэтому не должен рассматриваться как дубликат.


Мой актуальный вопрос

Я работаю с базой кодов, в которой есть пакет с именем 'com.xxx.yyy.entities'.Этот пакет содержит несколько классов, по сути, с одинаковой структурой:

  1. приватных полей
  2. открытых геттеров для каждого приватного поля
  3. открытых сеттеров для каждого частного поля
  4. метод '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() + "}"; 
  }
}

Классы, содержащиеся в пакете 'entity':фактически никогда не создается, но вместо этого всегда сериализуется / десериализуется в / из JSON (этот конкретный проект использует GSON для достижения этой цели).

Мои вопросы:

  1. что именно означает «сущность»значит здесь?
    • Означает ли это просто класс, который предназначен для сериализации в / из JSON?Разве для этого нет более конкретного термина, нежели чрезвычайно общий «сущность»?
  2. Является ли это общим шаблоном в проектах Java?

1 Ответ

0 голосов
/ 21 января 2019

В традиционном смысле «сущность» - это объект, который сохраняется в реляционной БД. Обычно (но не обязательно) сущность сопоставляется с таблицей. В более общем смысле en Entity представляет реализацию сопоставления другим сериализованным объектам, таким как JSON.

Я думаю, что слово взято из сущностей-отношений (ER) моделей, и опять же, это связано с тем, как вы представляете информацию в модели данных, обычно реляционной базе данных. Это не только концепция Java, так как моделирование данных ER предшествует Java на десятилетия.

...