Контроллер отдыха для пользователей с другой ролью - PullRequest
0 голосов
/ 12 июля 2020

Я делаю программное обеспечение для управления стадионом. Я хочу создать в этом проекте API отдыха. Я использую Spring boot, Spring MVC. У меня есть ресурсы: «Игрок, тренер, кладовщик, помощник, охранник». Я создал Контроллер для каждого ресурса. Теперь проблема в том, что у каждого ресурса есть некоторые общие поля, такие как поле имени, поле адреса, поля телефона и электронной почты и многие другие. В базе данных у меня есть общая базовая сущность с именем «Человек». Я создал эти объекты с помощью таблицы JPA для конкретной стратегии наследования классов. Теперь в каждом контроллере у меня есть метод обновления этих повторяющихся полей и некоторых других повторяющихся задач, таких как отключение учетных записей. Мне нужен совет, как удалить это дублирование.

1 Ответ

0 голосов
/ 12 июля 2020

Я бы посоветовал использовать @MappedSuperclass. Вы можете создать класс Person со всеми общими полями и аннотировать с помощью @MappedSuperclass. У этого класса будут свои собственные геттеры-сеттеры. Таким образом, вы можете расширить другие классы, например Coach et c. к этому суперклассу. Это сохранит ваш код для определения полей и геттеров / сеттеров в каждом классе.

Однако вам все равно придется получать / устанавливать их в своем logi c. Преимущество этого в том, что ваши сущности слабо связаны. у вас могут быть разные logi c для каждой сущности в одном и том же поле. Нравится - вы хотите поручить тренеру иметь номер мобильного телефона. Но у студента может быть номер мобильного телефона

. Но, если вы хотите удалить get / set logi c отовсюду и сделать его централизованным, я не уверен, что это может быть достигнуто. Даже если вы используете объединения таблиц, получение / установка должно быть из соответствующего класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...