Читал о JPA здесь. Два требования к классу Entity заключаются в том, что
Было любопытно узнать, зачем нужны эти условия?
- The class must not be declared final. No methods or persistent instance variables must be declared final.
Реализации JPA используют прокси-серверы перед вашими сущностями для управления, например: отложенной загрузкой. Поскольку окончательный класс не может быть расширен, нельзя создать прокси.
Некоторые реализации, такие как Hibernate, могут сохранять окончательные классы, но это может повлиять на производительность больше информации.
- The class must have a public or protected, no-argument constructor.
Эти и другие фреймворки для создания новых объектов используют ```Class.newInstance()``, поэтому конструктор без аргументов не нужен.
- Persistent instance variables must be declared private, protected, or package-private.
Будучи доступным только через методы доступа или бизнес-методы, допускается перехват в прокси.
Да, в этом случае я бы сказал, что это больше, чем просто обертки объектов. Например: Integer вместо int. Но да, в основном, если вы используете карту для сопоставления отношений, ключ должен быть базового типа, объекта или встраиваемого. Если вы считаете, что мой ответ в порядке, можете проверить: stackoverflow.com/help/someone-answers
Причины (по крайней мере некоторые из них):
Привет спасибо! Можете ли вы также сказать, что они имеют в виду, когда говорят «базовый тип языка программирования Java» в том же документе. Я думаю, что они могут иметь в виду примитивные типы данных, но не уверен.