jpa 一式两份记录的页码

b5lpy0ml  于 2022-11-14  发布在  其他
关注(0)|答案(1)|浏览(132)

我 需要 在 一 个 spring boot 项目 中 应用 分页 。 我 在 两 个 查询 中 应用 分页 。 每个 查询 都 从 不同 的 表 中 给 我 数据 。 现在 , 这些 记录 中 的 一些 在 两 个 表 中 是 相同 的 , 因此 需要 删除 。 最 后 , 我 需要 发送 的 条目 数量 将 减少 , 从而 破坏 了 最初 应用 的 分页 。 我 该 如何 进行 ? 我 应该 采取 什么 方法 ?
这里 我 从 2 个 jpa 调用 ( highRiskCust 和 amlPositiveCust ) 中 提取 2 个 列表 , 它们 将 应用 分页 , 然后 删除 重复 项 并 返回 最终 结果 ( tempReport ) 。

List<L1ComplianceResponseDTO> highRiskCust = customerKyc.findAllHighRiskL1Returned(startDateTime, endDateTime,agentIds);
            List<L1ComplianceResponseDTO> amlPositiveCust = customerKyc.findAllAmlPositiveL1Returned(startDateTime, endDateTime,agentIds);
            List<L1ComplianceResponseDTO> tempReport = new ArrayList<>(); 
            tempReport.addAll(amlPositiveCust);
            tempReport.addAll(highRiskCust);
            tempReport = tempReport.stream().filter(distinctByKey(p -> p.getKycTicketId())) 
                      .collect(Collectors.toList());

中 的 每 一 个
`

pvcm50d1

pvcm50d11#

为了使分页工作,您需要使用一个唯一的请求来完成它。通常,此请求应该使用UNION。由于JPA不支持UNION,因此您要么执行本机查询,要么使用外部连接来更改查询逻辑。

相关问题