首页 > 解决方案 > 在 Jhipster 设计中计算属性的最佳实践

问题描述

假设您创建了一个 Jhipster 赛车应用程序,其中我们有一个 Race 类(id、raceName、date、List -Participant-、averageTime),它由 Participant 对象(每场比赛有一个 id 和以秒为单位的比赛时间)组成。您想在时间公布(当他们越过终点线时)以及每次咨询比赛时计算赛车班的平均时间。为此,您会将计算这种平均值的方法放在哪里?

我看到 3 个选项:

  1. 当您显示 Race 组件时,在您的角度类视图中,您可以在每次显示时带来数据并计算它。
  2. Race Service 实现中的某个地方。
  3. 在实例化 Race 对象时在带有 @Transient 的域模型中

如果您看到其他选项或最佳实践,请告诉我。谢谢

entity Race { raceName String, time Instant, averageTime Double }

实体参与者{赛车时间整数}

关系 OneToMany { Race{participant(id)} 到 Participant{race(id)} }

// 设置分页选项:使用分页对所有内容进行分页 // 使用无限滚动对 ChatMessage 进行分页 // 使用无限滚动对所有内容进行分页

// SET SERVICE OPTIONS: service all with serviceImpl //service all with serviceClass

// DTO: dto all with mapstruct

// 过滤:过滤 *

标签: spring-bootjhipster

解决方案


我的偏好是在服务层执行此操作,作为从域模型到 DTO 转换的一部分。您可以在计算平均值@Transient的域模型中实现一个 getter,Race并且(我认为)mapstruct 可以将其映射到 DTO。或者您可以在您的服务方法中设置额外的 DTO 字段。您还可以将计算放入映射器中。


推荐阅读