首页 > 解决方案 > JPA 中的 @Query 为 STR TO DATE 提供空输出

问题描述

以下查询导致结果列表中所有条目的输出为空。

 @Query(value="select STR_TO_DATE(sp.date,'%d-%m-%Y') from shift_plan sp where sp.date>=:leaveDate and sp.shift_type NOT IN('leaveMorning','leaveAfternoon')",nativeQuery=true)
    public List<Date> findDatesGreaterThanOrEqualToLeaveDate(@Param("leaveDate") Date leaveDate);

我已在我的 java 代码中将日期保存为 Date 类型,但它已在我的数据库表 shift_plan 中保存为 varchar。我已从 java 中保存如下

cal.setTime(sdf.parse(j + "/" + (month_num + 1) + "/" + year));
                        sp.setDate(cal.getTime());

如何在此处获取实际日期列表?

标签: javamysqlhibernatespring-data-jpa

解决方案


将数据库中的日期数据类型从 varchar 更改为 date 后,此问题得到修复。之后不需要 STR_TO_DATE。


推荐阅读