使用Spring Jpa Repository的Date参数创建Query

时间:2018-01-04 23:34:51

标签: spring spring-data-jpa jpql

我想通过JpaRepository执行查询,该查询使用Date对象作为参数(java.util.Date)。但是,每次调用存储库中的方法时,它都会返回一个空值。当我传递Integer值并使用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类型的列。

1 个答案:

答案 0 :(得分:0)

导入

添加此行
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)