[英]Spring JPA Repository closest Date
我有一个实体(id,created_date)。 我想在我的JPARepository中创建一个方法,该方法返回从现在开始最接近的行。 CreatedDate是一个ZonedDateTime。 我创建了下一个方法(参数为ZonedTimeDate.now()):
findTopByCreatedDateBefore (返回第一个创建的行)
findFirstByCreatedDateBefore (返回第一个创建的行(为什么一样?))
findTopByCreatedDateBeforeOrderByCreatedDateDesc (返回最后创建的行)
findFirstByCreatedDateBeforeOrderByCreatedDateDesc (返回上一个创建的行(为什么一样?))
最后两个返回我想要的东西,但这是使用它们的最佳方法吗? 为什么前两个返回相同的结果?
因为关键字Top
和First
都将结果限制为默认值1之后的可选数字,所以它们仅定义要返回的元素数,而不是隐式排序-主要是因为不存在任何排序,除非您明确指定指定它。
没有任何排序语义就不能定义top
和first
,因为除非您指定排序选项,否则大多数商店都不保证结果的任何排序。 因此,每个方法调用的元素顺序甚至可能有所不同。
因此,在您给出的示例中,前两种方法将结果限制为一个参数。
我只是将PageRequest
作为findAll
的参数传递,其中page为1,pageSize为1,顺序为DESC
“ createdDate”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.