@Gamlor不,我沒有排序。代碼如下:
public static ObjectSet<PostedMessage> getMessagesBetweenDates(
Calendar after,
Calendar before,
ObjectContainer db) {
if (after == null || before == null || db == null) {
return null;
}
Query q = db.query(); //db is pre-configured to use SNAPSHOT mode.
q.constrain(PostedMessage.class);
Constraint from = q.descend("timeRecieved").constrain(new Long(after.getTimeInMillis())).greater().equal();
q.descend("timeRecieved").constrain(new Long(before.getTimeInMillis())).smaller().equal().and(from);
ObjectSet<EmailMessage> results = q.execute();
return results;
}
該方法的參數是如下:
後
= 13-09-2011十點55分55秒
之前= 13-09-2011 10 :56:10
而且我期望在「after」和「before」之間只返回10個PostedMessages。 (我生成的dummyMessage與timeReceived每增加1秒。)
你說你只是想要'前20',是你用來訂購結果索引在數據庫中的信息? – paul
是的,它被索引。我沒有使用TA/TP。我正在使用SNAPSHOT查詢模式。而前20,是因爲,我想以分頁的方式訪問發佈的消息。 –
Can Gamlor對此有何評論? –