我想获取一个实体的最后5条记录。但是无法通过Spring Data JPA来获取它。
最初,我试图通过LIMIT查询获取数据,但JPA不支持LIMIT。
后来我尝试了Pageable界面。
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/