1

odata4j AppEngineConsumerExampleは、次のようなコードを使用して、文字列と数値でエンティティをフィルタリングする方法を示しています。

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#です)が、上記は理にかなっています。ただし、日付について同様のことを行う方法がわかりません。私のWCFODataサービスからの日付は、「yyyy-MM-dd'T'HH:mm:ss」の形式になっています。

よろしくお願いします!

4

1 に答える 1

2

これは、odata4jではなくOData自体の関数であることがわかりました。odata4jのフィルター関数に渡される文字列は、URLを介して渡される式と同じです。NetflixODataカタログページでたくさんのフィルターの例を見つけました。

日付をフィルタリングするには、次のようなものを使用します。

reportEntity("\nProduct with order date greater than March 1, 2010: " , 
        c.getEntities("Product")
        .filter("OrderDate gt datetime'2010-03-01'")
        .top(1)
        .execute().first());
于 2010-09-22T15:18:41.443 に答える