【发布时间】:2020-05-06 13:30:01
【问题描述】:
我想通过与当前日期的日期比较来查询我的数据库。
这是我的查询:
@Query("SELECT * FROM User INNER JOIN AutoLogin ON User.user_Id = AutoLogin.user_Id AND AutoLogin.token_Id = :autoLoginToken AND Autologin.expiration_date > date('now')")
Single<User> getUserByAutoLogin(String autoLoginToken);
这是我的 AutoLogin 类:
public class AutoLogin implements Parcelable {
@NonNull
@PrimaryKey
@ColumnInfo(name = "token_Id")
private String tokenId;
@NonNull
@TypeConverters(DataTypeConverter.class)
@ColumnInfo(name = "expiration_date")
private Date expirationDate;
@NonNull
@ColumnInfo(name = "user_Id")
private Long userId;
我的转换器:
@androidx.room.TypeConverter
public static Date toDate(Long value) {
return value == null ? null : new Date(value);
}
@androidx.room.TypeConverter
public static Long toLong(Date value) {
return value == null ? null : value.getTime();
}
查询不起作用并且没有检索到结果。我觉得这是日期部分的问题。有人知道我的错误是什么吗?
谢谢。
【问题讨论】:
标签: android sqlite date android-room