这是场景。我有一个页面,其中显示了所有记录列表(没有分页)。
现在在后端,使用每个部分的 2 个单独命名查询的组合来检索记录(每个部分用于实际记录/part1/part2 的计数);
@NamedQuery(name = "CustomDOTO.findPart1", query = "SELECT part1";
@NamedQuery(name = "CustomDOTO.findPart1Count", query = "SELECT count(part1)";
@NamedQuery(name = "CustomDOTO.findPart2", query = "SELECT part2";
@NamedQuery(name = "CustomDOTO.findPart2Count", query = "SELECT count(part2)";
现在我需要实现相同的分页。所以我使用了一个自定义类 PagedResponse ,它实际上只包含两件事;
private Long totalRecords;
private List<T> records;
我还使用自定义方法 runPaginatedQuery 来返回分页响应;
protected <T> PagedResponse<T> runPaginatedQuery(Query query, Query cntQuery, int startingResult, int maxResults) {
}
我的问题是,因为我有 2 个单独的命名查询,如果我runPaginatedQuery
为每个命名查询调用该方法 2 次,它对我没有帮助,因为每次调用的最大结果都会增加。我如何在 Java 端处理同样的问题?我已经准备好处理 UI。