13

我目前正在使用 Objectify 3.1 构建一个用于部署到 GAE 的应用程序。尝试使用 order() 子句进行查询时,我得到了奇怪的结果。

我的域名:


public class InvoiceLineItem
{
    private int units;

    private BigDecimal unitCost;
    private BigDecimal extendedCost;

    private String description;

    @Parent Key<Invoice> invoice;
}

我正在尝试使用以下方法收集与给定 Invoice 关联的所有 InvoiceLineItems:

ofy ().query (InvoiceLineItem.class).ancestor (invoiceKey).list ( );

在我的测试用例中,这工作得很好,按预期返回 2 行。

但是,当我尝试向上述查询添加排序顺序时,如下所示:

ofy ().query (InvoiceLineItem.class).ancestor (invoiceKey).order ("+description").list ();

我总是得到 0 个结果。我已经尝试更改订单方向,其排序依据的字段,查询中 order () 子句的位置,都没有效果。谁能看到我在这里做错了什么?

谢谢...

4

1 回答 1

28

这里有几个潜在的问题:

  • 描述字段必须被索引
  • The description field must be less than 500 chars, because over 500 chars gets converted to a Text which is not indexable
  • Get rid of the +. It's either .order("description") or .order("-description").
于 2012-05-07T18:48:28.730 回答