有沒有人有任何想法如何檢索最後一個(具有最新的日期)的客觀化實體的實體?我知道如何進行查詢,但如何檢索最新的日期?如何獲得與最新的日期
List<Transaction> fetched2 = ofy.query(Transaction.class).filter("someproperty", somepropertyvalue).order("date").list();
我可以嘗試冒泡排序,但我敢肯定有一個更簡單的方法。 THX
有沒有人有任何想法如何檢索最後一個(具有最新的日期)的客觀化實體的實體?我知道如何進行查詢,但如何檢索最新的日期?如何獲得與最新的日期
List<Transaction> fetched2 = ofy.query(Transaction.class).filter("someproperty", somepropertyvalue).order("date").list();
我可以嘗試冒泡排序,但我敢肯定有一個更簡單的方法。 THX
你只需要在您的訂單中添加減去「日期」的前面:
List<Transaction> fetched2 = ofy.query(Transaction.class).filter("someproperty", somepropertyvalue).order("-date").list();
應該返回你交易的列表,最新的一個在第一的位置。
感謝你回答,但我已經知道,可能我不是很清楚。我想從列表中獲取此實體(第一個或最後一個取決於排序)。 –
我會說,因爲你在列表中,簡單的fetched2.get(0)或fetched2.get(fetched2.size()-1)將工作...因爲列表已經排序,這將返回最新和最舊的交易。 – CMDej
那麼這個列表是如此不幸的對象,它不會工作 –
我不知道你的使用情況,但如果你是綁得「新」實體(添加/上次查詢後更新的),你可能需要使用遊標。他們更有效率,因爲他們只獲得新的/更新的實體:https://developers.google.com/appengine/docs/java/datastore/queries#Query_Cursors
如果你想執行排序的目標,你應該按照用戶排序的方法。例如,如果您有一個表Sample,並且您想對其應用排序
升序排序 Sample sample = ofy.query(Sample .class).filter(「propertyname」,「propertyvalue).order(」+ date 「).LIST()第一();
得到在
第一記錄降序排序 樣品樣品= ofy.query(樣品的.class).filter(」 PROPERTYNAME 「」 的PropertyValue)。爲了( 「+日期」)
像添加獲得(0)? – Daniel