【问题标题】:JPQL Select range start index with entity idJPQL 选择具有实体 id 的范围起始索引
【发布时间】:2014-07-26 04:23:15
【问题描述】:

我想在一个安静的网络服务中使用分页。我发现了很多代码如何在两个硬编码值(如 10-20 之间)之间获取表的结果,但我需要将起始索引设置得有点不同。我想从表中选择某个 id 之后的 20 行。 示例:

rowNo     id
  1       22
  2       56
  3       98
  4       24
  5       75
  6       27
  7       59
  8       45
  9       32
  10      85

现在我想选择 id 24 之后的 5 个项目。所以结果表应该如下所示:

rowNo     id
  1       75
  2       27
  3       59
  4       45
  5       32

谁有想法?

【问题讨论】:

    标签: java sql jpa jpql


    【解决方案1】:

    尝试使用该结构:

    public List(int first, int pageSize) {
     CriteriaBuilder...
     CriteriaQuery....
     Predicates.....
    
      TypedQuery<T> typedQuery = entitymanager.createQuery(CriteriaQuery);
       if (pageSize >= 0){
            typedQuery.setMaxResults(pageSize);
        }
        if (first >= 0){
            typedQuery.setFirstResult(first);
        }
        return typedQuery.getResultList();
    }
    

    【讨论】:

      猜你喜欢
      • 2021-06-14
      • 2015-01-20
      • 1970-01-01
      • 2019-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-13
      • 1970-01-01
      相关资源
      最近更新 更多