2010-09-16 87 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