基于您正在使用 QueryService 的事实,我假设您启用了Filtering option https://www.jhipster.tech/entities-filtering/生成实体时。查询Tournament
实体具有Prize
两个值之间的量,需要添加一些内容。
In TournamentQueryService
,添加以下内容来构建规范prize.amount
field:
if (criteria.getPrizeAmount() != null) {
specification = specification.and(buildReferringEntitySpecification(criteria.getPrizeAmount(), Tournament_.prize, Prize_.amount));
}
In TournamentCriteria
,添加一个字段prizeAmount
筛选:private DoubleFilter prizeAmount;
。还添加 getter 和 setter。
现在,您可以通过 Swagger 测试请求(在菜单“管理”->“API”下)并根据奖金金额字段过滤锦标赛。
如果要在客户端进行这个查询,需要在HTTP请求中添加两个参数:
prizeAmount.greaterOrEqualThan
prizeAmount.lessOrEqualThan
您可以将它们添加到query
如下调用,这将返回奖金金额 >= 1 且
loadAll() {
this.tournamentService.query({
'prizeAmount.greaterOrEqualThan': 1,
'prizeAmount.lessOrEqualThan': 5
}).subscribe(
(res: HttpResponse<ITournament[]>) => {
this.tournaments = res.body;
},
(res: HttpErrorResponse) => this.onError(res.message)
);
}
如果你想要TournamentDTO
将奖金金额包含为字段,prizeAmount
需要添加字段TournamentDTO
(添加字段和 getter/setter)。您还需要添加@Mapping(source = "prize.amount", target = "prizeAmount")
in TournamentMapper
将奖品数据映射到TournamentDTO
.