【发布时间】:2017-10-03 11:36:01
【问题描述】:
在以下存储库中,我想获取一周前放置的那些记录(订单),我正在使用以下代码,但发生错误并在间隔时说意外令牌所以有人帮助我吗?
public interface OrderRepository extends JpaRepository<Order, Long> {
@Query("Select Order where orderDate < SQL((? - interval '3' minute), CURRENT_TIMESTAMP)")
Order currentOrder();
// I also tried following query
@Query("Select Order where orderDate > NOW() - interval 1 WEEK")
Order currentOrder();
}
【问题讨论】:
-
当您运行第二个查询时发生了什么,看起来应该可以工作?
-
@TimBiegeleisen 它给出了一个错误的意外标记:第 1 行附近的间隔,第 41 列 [选择 order where orderDate > NOW() - interval 1 WEEK]
-
除了 "SQL" 和 NOW" 是无效的 JPQL 之外,你必须使用原生查询吗?
-
@NeilStockton 那我应该用什么?
-
@android 只需在您的实际代码中使用常规 JPQL 查询,而不是命名查询。然后你可以从 Java 中设置任何你想要的日期。
标签: java mysql sql date spring-data-jpa