При проектировании модели данных с использованием JPA, особенных правил, которые были бы определены стандартом, фактически нет. Очевидно, что класс должен
- Быть сериализуемым
- Cодержать реализацию
equals
иhashCode
- Некоторые рекомендуют перегружать
toString
- Иметь публичные getters & setters для своих полей
Но это фактически требования к стандартным JavaBean's
, чем конкретно к JPA entity beans. А между тем, именно JPA entity имеют свои особенности, о которых было очень полезно знать непостредственно при проектировании. И снова источником вдохновения стала статья Stijn Geukens на StackOwerflow