我有一个简单的JpaRepository,其中有一个查找器,按照名为“number”的属性降序返回记录。 “number”属性也是我的实体的@Id。 这很好用,但是有成千上万条记录,所以我想返回一个页面而不是一个列表。
@Repository
public interface ReceiptRepository extends JpaRepository<Receipt, BigDecimal> {
@Query
public List<Receipt> findByStorerOrderByNumberDesc(String storer);
}
如果我将我的查找器更改为以下内容,排序就不再起作用了。我尝试使用Pageable参数的排序功能,但它没有起作用。也删除了OrderByNumberDesc,但结果相同。
@Repository
public interface ReceiptRepository extends JpaRepository<Receipt, BigDecimal> {
@Query
public Page<Receipt> findByStorerOrderByNumberDesc(String storer, Pageable pageable);
}
编辑 - 添加控制器方法
以下是我的控制器方法。
@RequestMapping(method = RequestMethod.GET, produces = {"application/json"})
public PagedResources<Receipt> receipts(Pageable pageable, PagedResourcesAssembler assembler) {
Page<Receipt> receipts = receiptRepository.findByStorer("003845", pageable);
return assembler.toResource(receipts, receiptResourceAssembler);
}
我感觉我在这里缺少了一些非常基础的东西。
我正在使用Spring Data JPA 1.5.2和Commons 1.7.2。
谢谢:)