我正在使用ORMLite和H2,我有一个名为Student的数据模型,它有" updatedAt"列/属性是Date数据类型(java.util.Date),因此它也保留日期时间信息。然后是另一个名为" lastSyncedAt"的日期类型的列/属性,我想让所有学生在哪里:
有人可以帮我解决如何在ORMLite上执行此操作。 LARAVEL ORM有类似的地方(columnA,比较运算符,columnB)有类似的东西,或者可以在ORMLite中执行此操作。
答案 0 :(得分:1)
其中(columnA,比较运算符,columnB)是类似的东西,或者可以在ORMLite中执行此操作。
你有RTFM吗?关于ORMLite query builder的问题很多。你可以这样做:
qb = studentDao.queryBuilder();
where = qb.where();
where.or(
where.isNull("lastSyncedAt"),
where.lt("lastSyncedAt", new ColumnArg("updatedAt")));
results = queryBuilder.list();
将事情结合起来:
null
值
null
。第一个问题很关键。 H2具有timestamp type并且为了进行比较,日期需要以特定格式对其进行编码。取决于您如何创建架构。您也可以使用ORMlite DATE_LONG type将日期存储为长整数,当然可以进行比较。
希望这有帮助。