【问题标题】:Spring MVC pagination using Spring Data and HibernateSpring MVC 分页使用 Spring Data 和 Hibernate
【发布时间】:2012-07-13 09:09:48
【问题描述】:
我需要对显示来自一个数据库表的过滤数据的表进行分页。例如,我有一个 CARS 表,我只需要对... WHERE CAR = "BMW" 进行分页。到目前为止,如果我只从一个表中分页数据,我使用 JPA repository.findAll(Pageable pageable) 方法。
是否有任何标准方法可以使用标准存储库方法来实现这一点,还是我必须编写自己的实现?谢谢。
【问题讨论】:
标签:
java
hibernate
spring-mvc
spring-data
spring-data-jpa
【解决方案1】:
看看:
Page<T> findAll(Specification<T> spec, Pageable pageable);
我认为这就是您要寻找的。 Specification<T>,基本上是一个指定 WHERE 子句的对象,它将过滤您的查询。
Javadoc here.
一个例子(没有Pageable)here。
【解决方案2】:
您可以在Repository 接口中定义自己的方法。在任何方法中,您都可以传递Pageable 参数。
Page<Car> findByCar(String car, Pageable pageable);
这使您不必创建基于Specification 的查询。