如何在客观化的基础上过滤JodaTime

时间:2016-04-01 08:03:22

标签: java google-app-engine datetime objectify

我是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的正确方法是什么?我很抱歉缺乏明确性。

1 个答案:

答案 0 :(得分:3)

如果您使用Objectify注册​​Joda翻译器,则可以将DateTime用作字段和过滤器子句。您也可以使用DateTime过滤常规Date属性。

JodaTimeTranslators.add(ObjectifyService.factory());

默认情况下不会启用此功能,因为每个人都需要将joda时间作为依赖项。