【发布时间】:2015-12-03 14:00:48
【问题描述】:
我正在尝试在 spring mvc 中实现分页。
就我而言,我有一个 Review 实体,它由 reviewStatus 和它提交的 date 组成。
我正在尝试使用 JpaRepository,但我不确定如何使用它来支持以下搜索查询。
SELECT * from review WHERE review.reviewStatus = 2 AND
( review.submittedOn BETWEEN '2015-09-08' AND '2015-09-09' )
我可以看到(参考http://docs.spring.io/spring-data/jpa/docs/1.4.3.RELEASE/reference/html/jpa.repositories.html)我们可以为特定查询定义方法,例如 findbyname。
但是,在我的例子中,如果用户不提供状态,那么上面的查询就变成了:
SELECT * from review WHERE ( review.submittedOn BETWEEN
'2015-09-08' AND '2015-09-09' )
如果没有提供提交日期,则变为
SELECT * from review WHERE review.reviewStatus = 2
简而言之,查询取决于最终用户输入的值,我希望使用相同的参数来实现分页。
请指导和/或分享链接以实施相同的操作。
提前致谢。
【问题讨论】:
-
您的意思是根据用户传递的内容进行动态查询吗?是关于分页的问题还是关于构建查询的问题?你的问题的标题似乎有点混乱
-
@jmcg 实际上两者兼而有之。我第一次尝试使用分页进行动态查询。我使用了一个简单的“全选”查询,没有任何问题。但不确定如何执行动态查询并获得可以在正确分页中显示的结果
标签: java spring spring-mvc pagination spring-data-jpa