Java Google Cloud Objectify-保存实体时出错

Java Google Cloud Objectify-保存实体时出错,java,google-app-engine,google-cloud-datastore,objectify,datastore,Java,Google App Engine,Google Cloud Datastore,Objectify,Datastore,我想保存一个实体,但似乎正在下降,因为我正在尝试为一个包含列表的HashMap编制索引 以下是我的课程: **指示符实体** @Entity public final class IndicadorEntity { private @Index Map<String, List<ObjetivoEntity>> objetivos; } 当尝试保存实体时,出现以下错误: com.googlecode.objectify.SaveException: Error

我想保存一个实体,但似乎正在下降,因为我正在尝试为一个包含列表的HashMap编制索引

以下是我的课程:

**指示符实体**

@Entity
public final class IndicadorEntity {
    private @Index Map<String, List<ObjetivoEntity>> objetivos;
}
当尝试保存实体时,出现以下错误:

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,它会工作,但我需要知道哪个indicatorEntity具有空对象


谢谢。

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

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


然后查询您的自定义索引:
过滤器(“myCustomIndex”,somevalue)
数据存储将索引的内容有限制。但是,您几乎可以通过创建合成索引来解决此问题

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


然后查询您的自定义索引:
过滤器(“myCustomIndex”,somevalue)

认为这是可能的,因为我看到了一个关于如何使用objectify查询hashmap的解决方案的问题,这里是这样的消息“…不是受支持的属性类型”来自Google的低级API。出于好奇,这是v5还是v6?v6的底层底层API(cloud sdk)在索引方面比旧的appengine API稍微强一点,但我不知道它是否能帮助您。我使用的是版本5,我认为这是可能的,因为我看到了一个关于如何使用objectify查询hashmap的解决方案的问题,在这里我看到了这条消息“…不是受支持的属性类型”来自Google的低级API。出于好奇,这是v5还是v6?v6的底层低级API(云sdk)在索引方面比旧的appengine API稍强一些,但我不知道它是否能帮到你。我使用的是版本5
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.