我正在尝试运行一个返回按日期分组的记录的查询。但是,我正在与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)
命令返回什么对象类型?我得到的只是值,total
但date
仍然为空。我究竟做错了什么?
编辑“
我将时间戳保存为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();
}
}