1

我正在尝试运行一个返回按日期分组的记录的查询。但是,我正在与Date对象作斗争。我有以下模型来接受来自 Room 查询的数据:

import java.util.Date;

public class TotalAssessmentsPerDay {

    private int total;
    private Date date;

    public int getTotal() {
        return total;
    }

    public void setTotal(int total) {
        this.total = total;
    }

    public Date getDate() {
        return date;
    }

    public void setDate(Date date) {
        this.date = date;
    }
}

这是我的查询:

@Query("SELECT COUNT(*) AS total, DATE(timestamp) AS date FROM SUBJECTIVEASSESSMENT WHERE 1 = 1 GROUP BY DATE(timestamp)")
    List<TotalAssessmentsPerDay> getTotalAssessmentsPerDay();

到目前为止,我得到了结果,但由于某种原因,date参数返回 null。我不知道该怎么做。DATE(timestamp)命令返回什么对象类型?我得到的只是值,totaldate仍然为空。我究竟做错了什么?

编辑

我将时间戳保存为String这种格式“dd/MM/yyyy, HH:mm”。这是我的TypeConverter

public class Converters {
    @TypeConverter
    public static Date fromTimestamp(Long value) {
        return value == null ? null : new Date(value);
    }

    @TypeConverter
    public static Long dateToTimestamp(Date date) {
        return date == null ? null : date.getTime();
    }
}
4

0 回答 0