2010-09-16 64 views
1

的odata4j AppEngineConsumerExample演示了如何使用类似于下面的代码过滤器上串和数值实体:如何在odata4j中按日期范围过滤实体?

reportEntity("\nNon-discontinued product with reorderLevel > 25 (two filter predicates): " , 
      c.getEntities("Product") 
      .filter("reorderLevel gt 25 and discontinued eq false") 
      .top(1) 
      .execute().first()); 

我是相当新到Java(我的背景是.NET/C#),但上述品牌感。但是,我不确定如何为日期做类似的事情。来自我的WCF OData服务的日期格式为“yyyy-MM-dd'T'HH:mm:ss”。

在此先感谢您的帮助!

回答

2

事实证明,这是OData本身的功能,而不是odata4j。传递给odata4j中过滤器函数的字符串与通过URL传递的表达式是相同的。我在Netflix OData Catalog page上发现了大量的过滤器示例。

要筛选日期,使用这样的:

reportEntity("\nProduct with order date greater than March 1, 2010: " , 
     c.getEntities("Product") 
     .filter("OrderDate gt datetime'2010-03-01'") 
     .top(1) 
     .execute().first()); 
+0

很高兴听到你有这方面的工作。看起来像提供文字参数的语法在这里很有用。或者查询生成器api。你怎么看? – 2010-10-17 21:31:15