我 需要 在 一 个 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());
中 的 每 一 个
`
1条答案
按热度按时间pvcm50d11#
为了使分页工作,您需要使用一个唯一的请求来完成它。通常,此请求应该使用
UNION
。由于JPA不支持UNION
,因此您要么执行本机查询,要么使用外部连接来更改查询逻辑。