我是Google Appengine的新手。在我的应用程序中,数据存储区实体存储org.joda.time.DateTime对象。我想查询数据存储区以返回2个特定DateTime范围之间的所有实体。我的代码是:
@Entity
@Cache
@Index
public class Sample {
@Id
Long id; // autogen
private DateTime dateTime;
private int activeCount;
private int inactiveCount;
}
我想要一个类似于 -
的查询 Iterable<Sample> sampleIterable = ofy().load().type(Sample.class)
.filter("dateTime <", DateTime.now())
.filter("dateTime >", DateTime.now().minusDays(1))
.iterable();
是否可以像这样查询DateTime?在物化中查询DateTime的正确方法是什么?我很抱歉缺乏明确性。
答案 0 :(得分:3)
如果您使用Objectify注册Joda翻译器,则可以将DateTime
用作字段和过滤器子句。您也可以使用DateTime
过滤常规Date
属性。
JodaTimeTranslators.add(ObjectifyService.factory());
默认情况下不会启用此功能,因为每个人都需要将joda时间作为依赖项。