Google Cloud Objectify - 保存实体时出错

Google Cloud Objectify - Error saving entity

我想保存一个实体,但似乎正在坠落,因为我正在尝试索引一个包含列表的 HashMap。

这是我的 类:

**IndicadorEntity **

@Entity
public final class IndicadorEntity {
    private @Index Map<String, List<ObjetivoEntity>> objetivos;
}

ObjetivoEntity

包 com.eulen.google.efqm.datastore.entities;

进口java.util.Date;

public final class ObjetivoEntity {
    private double objetivo;
    private boolean variable;
    private Date fechaCreacion;
}

尝试保存 IndicadorEntity 时出现以下错误:

com.googlecode.objectify.SaveException: Error saving com.eulen.google.efqm.datastore.entities.IndicadorEntity@694e7f0b: objetivos.2: java.util.ArrayList is not a supported property type.

如果我删除 @Index 它会起作用,但我需要知道哪个 IndicadorEntity 具有空对象。

谢谢。

数据存储索引的内容有限制。但是,您几乎总是可以通过创建综合索引来解决这个问题。

例如,您可以创建一个字段 private List<String> myCustomIndex 并使用 onSave 方法填充它,用您希望能够搜索的所有内容填充它。您可以从对象层次结构中任何深度的对象中提取信息。

然后查询您的自定义索引:filter("myCustomIndex", somevalue)