小编V S*_*ddy的帖子

使用多个filter()查询时,Objectify不会返回数据,即使相应的属性设置为多索引也是如此

我有一个现有的数据存储实体,如下所示:

@Data
@Entity
public class Data
{
    @Id @Index long id;
    long subId;
    boolean expired;
    boolean claimed;
}
Run Code Online (Sandbox Code Playgroud)

我需要根据subId过滤数据,过期声明的字段,所以我使用datastore-indexes.xml创建了一个多索引,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<datastore-indexes autoGenerate="true">
<datastore-index kind=“Data” ancestor="false">
    <property name=“subId” direction="asc" />
    <property name="expired" direction="asc" />
    <property name="claimed" direction="asc" />
</datastore-index>
</datastore-indexes>
Run Code Online (Sandbox Code Playgroud)

该实体完全是一个新实体,下面是添加到实体类中的两个新记录:

Column : Data

id : 1
subId : 1
expired : false
claimed : false

id : 2
subId : 1
expired : false
claimed : false
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试使用以下逻辑查询数据实体时,我确实得到空数据:

List<Data> data = ofy.load().type( Data.class )
    .filter( "subId = ", …
Run Code Online (Sandbox Code Playgroud)

objectify google-cloud-datastore

1
推荐指数
1
解决办法
1488
查看次数

标签 统计

google-cloud-datastore ×1

objectify ×1