Google app engine 如何获取具有最新日期的实体

Google app engine 如何获取具有最新日期的实体,google-app-engine,google-cloud-datastore,objectify,Google App Engine,Google Cloud Datastore,Objectify,有人知道如何在objectify中检索最后一个(最新日期)实体吗?我知道如何进行查询,但如何检索具有最新日期的查询 List<Transaction> fetched2 = ofy.query(Transaction.class).filter("someproperty", somepropertyvalue).order("date").list(); List fetched2=ofy.query(Transaction.class).filter(“someproperty

有人知道如何在objectify中检索最后一个(最新日期)实体吗?我知道如何进行查询,但如何检索具有最新日期的查询

List<Transaction> fetched2 = ofy.query(Transaction.class).filter("someproperty", somepropertyvalue).order("date").list();
List fetched2=ofy.query(Transaction.class).filter(“someproperty”,somepropertyvalue).order(“date”).List();

我可以试着用气泡排序,但我相信有一种更简单的方法。THX

您只需在订单中的“日期”前面加一个负号即可:

List fetched2=ofy.query(Transaction.class).filter(“someproperty”,somepropertyvalue).order(“-date”).List()


这将返回一个事务列表,其中最新的一个位于第一位。

我不知道您的用例,但是如果您想要获得“新”实体(在上次查询后添加/更新的实体),您可能需要使用游标。它们的效率更高,因为它们只获取新的/更新的实体:

如果您想在objectify中执行排序,您应该使用“按方法排序”。例如,如果您有一个表示例,并且希望对其应用排序

升序排序 Sample Sample=ofy.query(Sample.class).filter(“propertyname”、“propertyvalue”).order(“+date”).list().first()

获取中的第一条记录

降序排序
Sample Sample=ofy.query(Sample.class).filter(“propertyname”,“propertyvalue”).order(“+date”)

谢谢您的回答,但我已经知道,可能我还不够清楚。我想从列表中获取此实体(第一个或最后一个,具体取决于排序)。我想说,由于您在列表中,一个简单的fetched2.get(0)或fetched2.get(fetched2.size()-1)可以工作。。。由于列表已经排序,这将返回最新和最旧的事务。最简单的方法是:
Transaction tr=ofy.query(Transaction.class).filter(“someproperty”,somepropertyvalue).order(“-date”).get()这应该只返回最后添加的项目。类似于添加。获取(0)吗?