2010-07-15 42 views
2

我想知道如何限制結果數量與一個javax.jdo.Query
我試過setRange函數沒有成功。
這是我目前的解決方法限制結果javax.jdo.Query中的數字

Object query_result = q.execute(locationId); 
if(query_result!=null && ((List<BaseObject>) query_result).size()>0) 
    return (PokerSession) ((List<BaseObject>) query_result).get(0); 
return null; 

回答

5
Query query = pm.newQuery(PokerSession.class); 
    query.setFilter("locationId == plocationId"); // My asumption. need to change accoring to your field name. 
    query.declareParameters("String plocationId"); //Again my asumption put here correct data type 

    /* Here x is startIndex and y is end index 
    * For example if you want to start from 10 and want to get 50 records 
    * you put x=9 (index are zero based) and y = x + 50 
    */ 
    query.setRange(x, y); 

    List<PokerSession>) query_result = q.execute(locationId); 
    if(!query_result.isEmpty()) 
     return query_result.get(0); 
    return null