Я бы посоветовал использовать @MappedSuperclass. Вы можете создать класс Person со всеми общими полями и аннотировать с помощью @MappedSuperclass. У этого класса будут свои собственные геттеры-сеттеры. Таким образом, вы можете расширить другие классы, например Coach et c. к этому суперклассу. Это сохранит ваш код для определения полей и геттеров / сеттеров в каждом классе.
Однако вам все равно придется получать / устанавливать их в своем logi c. Преимущество этого в том, что ваши сущности слабо связаны. у вас могут быть разные logi c для каждой сущности в одном и том же поле. Нравится - вы хотите поручить тренеру иметь номер мобильного телефона. Но у студента может быть номер мобильного телефона
. Но, если вы хотите удалить get / set logi c отовсюду и сделать его централизованным, я не уверен, что это может быть достигнуто. Даже если вы используете объединения таблиц, получение / установка должно быть из соответствующего класса.