Почему Entity - это POJO-класс?

109
06 января 2022, 15:00

На википедии черном по белому написано:

Entity (Сущность) — POJO-класс, связанный с БД с помощью аннотации (@Entity) или через XML.

Однако просматривая особенности POJO-класса, я узнал, что он не должен:

  • Расширять заранее заданные классы.
  • Реализовывать заранее заданные интерфейсы.
  • Содержать предварительно определенные аннотации.

Однако, на той же википедии написано, что Entity-класс может и наследоваться, и интерфейсы реализовывать, и аннотации использовать. Так вот, означает ли это, что Entity-класс должен быть POJO именно до его превращения в Entity? Или я чего-то не понимаю?

Answer 1

В этих определениях важно слово заранее заданные. В библиотеке Entity Java Beans сущности наследовались от класса EJBObject, что накладывало серьёзные ограничения на разработку.

Например, вы не могли просто взять готовую библиотеку классов, и подключить её к проекту. Чтобы сделать свои классы сущностями в смысле Entity Java Beans, вы должно были их переписать. Сами классы становились большими, потому что помимо своей основной задачи они переопределяли «нужные» методы из EJBObject.

POJO означает, что вы не должны наследоваться ни от какого специального базового класса наподобие EJBObject. Но конечно вы можете наследовать POJO-классы друг от друга так, как это диктует логика предметной области.

READ ALSO
Заливка ячейки в таблице MS-Wrod по условию

Заливка ячейки в таблице MS-Wrod по условию

Формируется документ Ms-Word форматаdocx

201
Метод, который возвращает объект с неизвестным типом, который хранится в переменной

Метод, который возвращает объект с неизвестным типом, который хранится в переменной

В программировании я довольно молод и неопытенПотому не удаётся мне реализовать одно дельце

120
Каков механизм добавления элементов в ArrayList?

Каков механизм добавления элементов в ArrayList?

Как этот процесс устроен внутри ArrayList? Хотелось бы узнать подробности реализацииКак оно значениями оперирует? В частности - что и как делает...

206