当前位置: 首页 > 面试题库 >

Spring Data JPA,如何通过Pageable获取最后一页

商振
2023-03-14
问题内容

我想获取一个实体的最后5条记录。但是无法通过Spring Data JPA来获取它。

最初,我试图通过LIMIT查询获取数据,但JPA不支持LIMIT。

后来我尝试了Pageable界面。

Pageable pageCount = new PageRequest(0, 10, Direction.ASC,"id");
List<TxnEntity> txnEntities = txnDAO
            .findByAccountEntity(accountEntity,pageCount);

这给了我第一页有10个对象。

但是我的要求是获取最后10或5个对象。那么如何通过PageableSpring框架中的接口获取它呢?


问题答案:

我期望的输出是最后n条记录。

所以我用过Spring Data JPA 1.7内置查询

int n = 10;

Pageable pageCount = new PageRequest(0, n);

List<TxnEntity> txnEntities = txnDAO
        .findByAccountEntityOrderByIdDesc(accountEntity,pageCount);

现在,这将返回最后n条记录。

DAO将以降序返回所有记录,通过使用Pageable,我们可以从底部开始需要多少条记录。

很简单。

有关更多JPA查询的内置查询:http : //docs.spring.io/spring-
data/jpa/docs/current/reference/html/



 类似资料:
  • 问题内容: 这个SQL Server片段的PLSQL(Oracle)等效项是什么? 在C#中,您可以调用myCommand.ExecuteScalar()来检索新行的ID。 如何在Oracle中插入新行,并让JDBC获得新ID的副本? 编辑: BalusC提供了一个很好的起点。由于某种原因,JDBC不喜欢命名参数绑定。这给出了“错误设置或注册的参数” SQLException。为什么会这样呢? 问

  • 问题内容: 如何获取ArrayList的最后一个值? 我不知道ArrayList的最后一个索引。 问题答案: 以下是接口的一部分(由ArrayList实现): 是元素类型。如果列表为空,则抛出。你可以在此处找到整个API文档。

  • 我知道可以使用获取最后一个id,但我想知道如何通过方法获取最后一个插入的id。 我用这个,但它返回值

  • 问题内容: 我有这个; 但这是行不通的。我想在24小时内向所有新用户展示 问题答案: 您可以使用以下命令在MySQL中完全执行该查询 该表达式返回24小时前的日期。MySql很聪明,可以处理与时间相关的列类型之间的比较。 如果不是与时间相关的类型,而是类似varchar或int列的类型,则必须在该列上使用或调整上面的查询以读取 请参见MySql手册中的DATE_SUB和DATE_ADD。

  • 问题内容: 我输入的是一个字符串。如何获得最后的路径段(在我的情况下是id)? 这是我的输入URL: 我必须获得我尝试过的ID: 但这是行不通的,并且肯定有更好的方法可以做到这一点。 问题答案: 是您要寻找的: 或者

  • 提取切片的最后一个元素的方式是什么? 上述解决方案可行,但似乎有些尴尬。