Elt*_*mon 2 sql hibernate jpa spring-boot
我需要能够为我的后端应用程序检索过去 6 个月的订单。
@Query("Select ord From orders ord WHERE ord.created_date <= (current_date - INTERVAL '6 months')")
List<Order> findOrders();
Run Code Online (Sandbox Code Playgroud)
unexpected token: INTERVAL near line 1, column 70 [Select ord From orders ord WHERE ord.created_date <= (current_date INTERVAL '6 months')
Run Code Online (Sandbox Code Playgroud)
经过一番研究,我发现 JPA 不支持 INTERVAL 定义。是否有解决方法可以存档此特定功能?
小智 6
您可以通过 java 代码内计算的日期来参数化您的存储库方法。假设created_date是类型,Instant它会是这样的:
@Query("FROM orders ord WHERE ord.created_date >= :fromDate")
List<Order> findOrders(Instant fromDate);
Run Code Online (Sandbox Code Playgroud)
并调用它
Instant fromDate = Instant.now().minus(Duration.ofDays(182));
yourRepository.findOrders(fromDate)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3281 次 |
| 最近记录: |