JPA 规范来组合多个过滤结果

问题描述 投票:0回答:1

我正在开发 Spring Boot 项目,其中一些结果列表将根据用户的权限显示。

所有数据都保存在DB中,例如:

表:我的模型

型号名称 模型状态 型号日期
12 AA 2022-12-23
14 AB 2021-10-23
16 AA 2022-01-02
17 PF 2021-11-17
100 AA 2023-11-04
102 AB 2020-12-30
112 PF 2022-06-03
114 AB 2022-12-01
120 PF 2021-05-03
141 AB 2022-02-04
142 AA 2022-04-28
154 AB 2022-09-22

因此,我需要首先在顶部显示基于 PF 状态 + modelDate DES 的 myModel 列表,然后根据 modelDate DES 在下方添加剩余模型。例如

型号名称 模型状态 型号日期
112 PF 2022-06-03
17 PF 2021-11-17
120 PF 2021-05-03
100 AA 2023-11-04
12 AA 2022-12-23
114 AB 2022-12-01
154 AB 2022-09-22
142 AA 2022-04-28
141 AB 2022-02-04
16 AA 2022-01-02
14 AB 2021-10-23
102 AB 2020-12-30

这可以通过查询来完成,但这里我必须:

  1. 进行分页。
  2. 它将具有其他过滤器以及上述在顶部显示 PF 的处理。

所以我需要一些规范,以便其他过滤器可以轻松加入。

目前我已经实现了 -

  • 获取非 PF 列表 - NonPFModelList
  • 获取PF列表 - PFMdelList

然后根据Spring Boot的页面请求合并结果。但有些地方我的代码会被破坏

“页码”:1, “页面大小”:10,

我的 PFMdelList 有 2 条记录,NonPFModelList 有 10 条原始记录,但我必须附加 8 条,因为我的分页是每页 10 条记录。 当 pageNumber=2 时,它将省略最后一页的两条记录并带来下一页 10 个非 PFAList 记录。

我怎样才能用规范来处理这一切?

spring-boot spring-data-jpa pagination specifications
1个回答
0
投票

我认为下面的例子会有用。

jpa规范示例

© www.soinside.com 2019 - 2024. All rights reserved.