spring数据jpa日期查询不适用于date been和date greater than

mrphzbgm  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(513)

我尝试使用springdatajpa进行查询,包括以下查询。但是我可以在任何给定的日期之间得到文件化的输出。

@Query(value = "SELECT new com.xxx.DonationByUserTotal(d.club.name, d.club.id , d.club.logo, SUM(d.amount)) " +
        "from Donation d where d.user.id=?1 and d.createdDate  >= ?2 GROUP BY d.club")
List<DonationByUserTotal> findByUserAndFromDate(int User, @Param("fromDate") Date fromDate);

此查询返回给定用户的所有日期,但不在给定日期之间进行筛选。

@Query("SELECT new com.xxx.DonationByUserTotal(d.club.name, d.club.id , d.club.logo, SUM(d.amount) )" +
        "from Donation d where d.user.id=?1 and d.createdDate BETWEEN ?2 and  ?3  GROUP BY d.club")
List<DonationByUserTotal> findByUserAndBetweenDates(int User,@Param("from")Date fromDate,@Param("to") Date toDate);

此查询返回一个空集,尽管有效日期介于。
有人能帮我解决这个问题吗?
附言:
实体类正在使用

@CreatedDate
@Temporal(TemporalType.TIMESTAMP)
@Column(nullable = false, updatable = false)
private Date createdDate;

传递给query的参数也带有时间戳。

tmb3ates

tmb3ates1#

我能够计算出,这个错误是由于日期格式不同造成的。因为Spring没有抛出任何错误,所以很难找出它。

相关问题