【问题标题】:Creating Query using Date parameters with Spring Jpa Repository使用带有 Spring Jpa 存储库的日期参数创建查询
【发布时间】:2018-01-04 23:34:51
【问题描述】:

我想通过使用 Date 对象作为参数 (java.util.Date) 的 JpaRepository 执行查询。但是,每次调用存储库中的方法时,它都会返回一个空值。当我传递整数值并使用 id 而不是 Date 时,我没有收到任何错误并且查询成功执行。

这是我的查询:

@Query(value="SELECT sum(o.price) FROM Order o WHERE o.dateCreatedAt BETWEEN ?1 AND ?2")
Double getTotalMoneyEarned(Date beginDate, Date endDate)

我不知道我是否遗漏了什么。在我的 Order 模型对象中,dateCreatedAt 是 Date 类型的列。

【问题讨论】:

  • 开启 sql 日志记录,这样你就可以看到正在执行的 sql

标签: spring spring-data-jpa jpql


【解决方案1】:

imports 块中添加这一行

import org.springframework.data.repository.query.Param;

这应该可行:

@Query(value="SELECT sum(o.price) FROM Order o WHERE o.dateCreatedAt BETWEEN :beginDate AND :endDate")
Double getTotalMoneyEarned(@Param("beginDate") Date beginDate, @Param("endDate") Date endDate)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-16
    • 2016-05-16
    • 1970-01-01
    • 2020-02-08
    • 2015-10-13
    • 1970-01-01
    • 2015-10-29
    • 1970-01-01
    相关资源
    最近更新 更多