2011-01-15 14 views
1

日枝フィルタリングする属性が3つ以上ありますか?

私はGAEのJDOQLを使用してのようなクエリを書いています:

Query query = pm.newQuery(BloodDonor.class); 
     query.setFilter(" state == :stateName && district == :distName &&" + 
       " city == :cityName && bloodGroup == :blood"); 
     @SuppressWarnings("unchecked") 
     List<BloodDonor> donors = (List<BloodDonor>) query.execute(state.toLowerCase(), district.toLowerCase(), 
       city.toLowerCase(), bloodGroup.toLowerCase()); 

以上の3つのパラメータをサポートしていないメソッドを実行するように、このdoesntの仕事。だから、以上の3

答えて

0

OKが私たちの自分自身を考え出し。正しい方法は、この場合query.executeWithArrayを使用することです。

1

the documentationによると、あなたがaddFilterメソッドを複数回呼び出すことにより、複数のフィルタを追加することができます渡す方法:

Query query = pm.newQuery("BloodDonor"); 
query.addFilter("state", Query.FilterOperator.EQUAL, state.toLowerCase()); 
query.addFilter("district", Query.FilterOperator.EQUAL, city.toLowerCase()); 
query.addFilter("bloodGroup", Query.FilterOperator.EQUAL, bloodGroup.toLowerCase()); 

PreparedQuery pq = datastore.prepare(q); 

for (Entity result : pq.asIterable()) { 
    // Do stuff 
} 
関連する問題