Я хочу запросить в моей базе данных сравнение даты с текущей датой.
Вот мой запрос:
@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();
}
Запрос не работает и не дает результата. Я чувствую, что это проблема с датой. Кто-нибудь видит, в чем моя ошибка?
Спасибо.