我正在试图找到一个对象列表,这些对象都是某个DateTime之后的对象。为此,我创建了以下查询:
return foos.retrieve(QueryFactory.equal(EXPIRY_INDEX, new DateTime()));然后我创建了以下索引:
public static final Attribute<Foo, DateTime> EXPIRY_INDEX = new SimpleAttribute<Foo, DateTime>() {
@Override
public DateTime getValue(Foo foo, QueryOptions queryOptions) {
return foo.getEXPIRY();
}
};到目前为止,除了equal(...)方法之外,据我所知,该方法将调用DateTime.equals(...),而后者最终将始终返回false。我需要的是一种叫DateTime.isAfterNow(...)或DateTime.isAfter(...)的方法。
现在,我如何在集合中找到拥有DateTime的所有元素?
发布于 2016-11-02 18:11:28
如果我正确理解,您应该使用greaterThan()查询,而不是equals()查询。
它们将依赖于Comparable.compareTo(),而不是Object.equals()。因此,如果您的DateTime对象正确地实现了可比较的接口,它就会工作。
https://stackoverflow.com/questions/40342306
复制相似问题