java - Spring Data JPA 返回具有指定范围的日期列表(开始日期和结束日期)
问题描述
目前,我正在尝试返回一个日期属于参数给定范围的对象列表......但是,当我运行我的 rest api 调用时,没有返回任何内容。我不确定我是否正确地执行了这个 Spring JPA 请求,并决定获得一些反馈,无论我所做的事情是否不正确。
这是一些简短的伪代码:
对象模型
public class mResult{
/* other variables */
LocalDate runDate;
}
回购
public interface mResultRepository extends CrudRepository<mResult,String> {
List<mResult> findAllByRunDateBetween(LocalDate startDate,LocalDate endDate);
}
服务
mResultRepository mRepository;
public List<mResult> getAllBetweenDates(LocalDate startDate, LocalDate endDate){
return mRepository.findAllByRunDateBetween(startDate,endDate);
}
我的仓库包含 JSON 对象,例如:
{"runDate": "2019-02-05"}
{"runDate": "2019-02-06"}
{"runDate": "2019-02-10}
如果我的范围是 2019-02-01 到 2019-02-09,那么它应该只返回这个范围内的那些。但是,当我运行我的 API 请求时,没有返回任何内容。我的 Spring JPA 请求是否正确?TIA
解决方案
前段时间我遇到了同样的问题,我尝试/找到从数据库级别获取解决方案,但我没有找到任何合适的方法在数据库级别解决,所以我更希望它从 Java 端作为示例代码解决下面给出。
List<LocalDate> runningDates = Stream.iterate(startDate, date -> date.plusDays(1))
.limit(ChronoUnit.DAYS.between(startDate, endDate.plusDays(1)))
.collect(Collectors.toList());
我相信它可以帮助你。
推荐阅读
- angularjs - 将 JBoss Forge AngularJs 插件更新到 Angular 6
- python - wxPython 将 wx.StaticBitmap 添加到 wx.GridBagSizer
- python - 使用 discord.py 让机器人响应图像
- javascript - Vuevalidate 插件 -$v 未在单个文件组件中定义
- typescript - 从编译中排除打字稿文件的某些部分?
- ios - 无法使用 Alamofire 从数组上传多个文件
- javafx - JavaFX - 通过场景构建器访问嵌套属性
- typescript - ts-jest 不识别 es6 导入
- sql - 如何将字符串行旋转到多列?
- android - 如何在没有 startService 的情况下使用 resultReceiver?