我正在試驗App Engine,Datastore和Objectify 4.我有一個工作的Objectify查詢,它從數據存儲庫中提取給定類型的所有實體。我試圖根據日期對結果進行排序:添加排序到Objectify查詢導致空結果
List<MyEntity> entities = OfyService.ofy().load().type(MyEntity.class).order("-createdDate").list();
但是在我添加訂單之後,查詢返回0條記錄。這是我的實體類:
@Entity
public class MyEntity
{
@Id Long id;
Long userID;
@Ignore String username;
@Index String name;
String url;
String description;
@Index Date createdDate;
@Index int viewCount;
}
我試着用其他數據類型命令沒有成功。爲什麼會發生?
很難說沒有看到完整的代碼,但是如果您在order()中刪除'-'以按升序返回結果,您會得到結果嗎?根據[文檔](https://developers.google.com/appengine/docs/java/datastore/indexes#Java_Index_configuration),App Engine應該自動爲_Queries創建一個索引,不使用過濾器,只有一個排序順序,無論是上升還是下降。 – tx802
當從order()中刪除「 - 」時,我會得到相同的結果。出於某種原因,實體類中定義的索引都不存儲在數據存儲區中,請閱讀我剛剛添加的答案 –