我需要为我的后端应用程序检索过去 6 个月的订单。
@Query("Select ord From orders ord WHERE ord.created_date <= (current_date - INTERVAL '6 months')")
List<Order> findOrders();
unexpected token: INTERVAL near line 1, column 70 [Select ord From orders ord WHERE ord.created_date <= (current_date INTERVAL '6 months')
经过一些研究,我发现 JPA 不支持 INTERVAL 定义。 是否有归档此特定功能的解决方法?
最佳答案
您可以通过在 Java 代码中计算的日期来参数化您的存储库方法。假设 created_date
是 Instant
类型,它将类似于:
@Query("FROM orders ord WHERE ord.created_date >= :fromDate")
List<Order> findOrders(Instant fromDate);
并调用它
Instant fromDate = Instant.now().minus(Duration.ofDays(182));
yourRepository.findOrders(fromDate)
关于sql - 'Interval' 的 JPA Hibernate 查询问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64716077/