Давайте представим, что вы создаете гоночное приложение Jhipster, в котором у нас есть класс Race (id, raceName, date, List -Participant-, AverageTime), который состоит из объектов Participant (имеющих идентификатор и время гонки в секундах для каждой гонки). Вы хотели бы рассчитать среднее время гоночного класса, когда время объявляется (когда они пересекают финишную черту) и каждый раз, когда проводится консультация по гонке. Для этого, где бы вы поместили метод для расчета такого среднего?
Я вижу 3 варианта:
Пожалуйста, если вы видите другие варианты или лучшие практики, дайте мне знать. Спасибо
сущность Race { raceName String, время Мгновенное, среднее время Double }
Участник организации { RacingTime Integer }
отношение OneToMany {Раса{участник(идентификатор)} к Участник {раса (идентификатор)} }
// НАСТРОЙКА ОПЦИИ РАЗБИВКИ: разбить все страницы с нумерацией страниц // разбить на страницы ChatMessage с бесконечной прокруткой // разбить все на страницы с помощью бесконечной прокрутки
// УСТАНОВИТЬ ОПЦИИ СЛУЖБЫ: обслуживать все с помощью serviceImpl //обслуживать все с классом обслуживания
// DTO: dto all с mapstruct
// ФИЛЬТРАЦИЯ: фильтр *




Я предпочитаю делать это на сервисном уровне как часть преобразования модели предметной области в DTO. Вы можете реализовать геттер @Transient в модели домена Race, который вычисляет среднее значение, и (я думаю) mapstruct может сопоставить это с DTO. Или вы можете просто установить дополнительное поле DTO в методах обслуживания.
Также есть это, где вы можете поместить расчет в свой маппер.
Надеюсь, представьте, что я не использую MapStruct и DTO. Где бы вы разместили его тогда? Еще раз спасибо.
@ JorgeM.Nures, да, именно здесь я бы это сделал. Вам нужно будет добавить его везде, где вы хотите, чтобы он был в DTO (возможно, также save и findOne). Если вы не используете DTO/сервисы, то, я думаю, вам нужно это переходное поле в вашей сущности и либо заполнить его до того, как оно будет преобразовано в JSON, либо вычислить его на лету в геттере, и, надеюсь, Джексон поместит его в JSON.
Привет @Hopey One, я пытался понять, как это сделать, но, думаю, я понятия не имею, как работать с этими DTO в Jhipster, и я не смог найти ни одного примера того, как это сделать. Вы не могли бы мне помочь? Спасибо
Я нашел отличный учебник здесь: stackabuse.com/…
Спасибо, Хоупи. Вы имеете в виду здесь: (github.com/Tonterias/mapstruct/blob/…) если вы можете сказать мне, где, я буду признателен. еще раз спасибо