有谁知道如何在objectify中检索最后一个(最新日期)实体?我知道如何进行查询,但如何检索具有最新日期的查询?
List<Transaction> fetched2 = ofy.query(Transaction.class).filter("someproperty", somepropertyvalue).order("date").list();
我可以尝试对其进行冒泡排序,但我确信有更简单的方法。谢谢
有谁知道如何在objectify中检索最后一个(最新日期)实体?我知道如何进行查询,但如何检索具有最新日期的查询?
List<Transaction> fetched2 = ofy.query(Transaction.class).filter("someproperty", somepropertyvalue).order("date").list();
我可以尝试对其进行冒泡排序,但我确信有更简单的方法。谢谢
您只需在订单中的“日期”前添加一个减号:
List<Transaction> 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")
我不知道您的用例,但如果您想要获取“新”实体(在最后一次查询后添加/更新的实体),您可能想要使用游标。它们效率更高,因为它们只获取新的/更新的实体:https ://developers.google.com/appengine/docs/java/datastore/queries#Query_Cursors