spring-boot - 在 Jhipster 设计中计算属性的最佳实践
问题描述
假设您创建了一个 Jhipster 赛车应用程序,其中我们有一个 Race 类(id、raceName、date、List -Participant-、averageTime),它由 Participant 对象(每场比赛有一个 id 和以秒为单位的比赛时间)组成。您想在时间公布(当他们越过终点线时)以及每次咨询比赛时计算赛车班的平均时间。为此,您会将计算这种平均值的方法放在哪里?
我看到 3 个选项:
- 当您显示 Race 组件时,在您的角度类视图中,您可以在每次显示时带来数据并计算它。
- Race Service 实现中的某个地方。
- 在实例化 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
// 过滤:过滤 *
解决方案
我的偏好是在服务层执行此操作,作为从域模型到 DTO 转换的一部分。您可以在计算平均值@Transient
的域模型中实现一个 getter,Race
并且(我认为)mapstruct 可以将其映射到 DTO。或者您可以在您的服务方法中设置额外的 DTO 字段。您还可以将计算放入映射器中。
推荐阅读
- linux - Ansible:“msg”:“基本:服务器返回的 HTTP 响应错误。代码 503”
- mysql - SQL,表连接不会显示正确的输出
- angular - 跳过 FormControl 的 valueChanges 中程序所做的更改
- c# - 如何使用数据集在 Visual Basic/C# 中读取和写入相同的 XML 文件?
- r - R Simmer 中的即时库存补货
- sql - 将表链接到自身并获取关系 ID
- python - Dockerfile : 安装包以运行 python3 脚本
- kubernetes - Kubernetes 领导者选举 - HTTP 服务器响应错误
- angular - 为什么 Angular 6 会出现“找不到具有未指定名称属性的控件”错误?
- ms-office - Onenote 2016 画框字符显示为⍰