5

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

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

我可以尝试对其进行冒泡排序,但我确信有更简单的方法。谢谢

4

3 回答 3

8

您只需在订单中的“日期”前添加一个减号:

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

这应该会返回一个交易列表,其中最新的交易位于第一位。

于 2012-05-16T14:01:11.097 回答
0

如果要在 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")

于 2014-07-07T09:08:11.993 回答
0

我不知道您的用例,但如果您想要获取“新”实体(在最后一次查询后添加/更新的实体),您可能想要使用游标。它们效率更高,因为它们只获取新的/更新的实体:https ://developers.google.com/appengine/docs/java/datastore/queries#Query_Cursors

于 2012-05-16T18:41:33.147 回答