java - 如何使用 Spring JPA 检索某个记录器之前和之后的记录?

标签 java spring jpa spring-data jpql

我正在使用 Spring Repository 的自定义查询。我可以创建这样的自定义方法:

List<Order> findTop1ByOrderByCreateDateTimeDesc();

获取最新订单。

但是如何获取按 CreateDateTime 排序的特定订单的上一个和下一个订单?

最佳答案

以下两个 JPQL 查询将返回与指定最接近的 createDateTime 的订单。

上一个订单:

select o from Order o where o.createDateTime = (select max(prev.createDateTime) from Order prev where prev.createDateTime < :specificOrderCreateDateTime)

下一个订单:

select o from Order o where o.createDateTime = (select min(next.createDateTime) from Order next where next.createDateTime > :specificOrderCreateDateTime)

关于java - 如何使用 Spring JPA 检索某个记录器之前和之后的记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59040420/

相关文章:

java - 如何解决 : java. sql.SQLException : setDate, 异常 = 无效的年份值

Java BufferedReader 返回奇怪的字符

java - 自动检测中默认的数据源实现是什么

java - Spring实例化了bean但无法使用

java - Spring social vs javascript(facebook 身份验证)

java - 当一列是派生值时,使用复合键关联两个表

java - hibernate insert to a collection 导致删除,然后再次插入集合中的所有项目

java - 如何在STS 4中添加Web模块?

java - 定时 while 循环不终止

java - 在 JMeter java api 中如何在预处理器采样器中设置 POST 表单值?