实体中的Id字段

时间:2015-02-07 04:40:59

标签: google-app-engine google-cloud-datastore

我为我的Android客户端应用程序制作了谷歌应用程序引擎后端。 我在Android studio中为它创建了我的实体类和自动生成的端点类。 这个自动生成的类有方法:

public XXX getXXX(@Named(“id”)Long id)

我计划使用Query api添加以及获取实体。

IndexSpec indexSpec = IndexSpec.newBuilder()。setName(“XXX_Index”)。build(); 索引索引= SearchServiceFactory.getSearchService()。getIndex(indexSpec);

让我有点困惑。据我所知,当我第一次插入实体时,app引擎数据存储自动为实体生成id。这个id可以是string.So如何使我的id与自动生成的getXXX方法兼容,该方法以Long为输入。

和Manish

1 个答案:

答案 0 :(得分:1)

AppEngine数据存储区密钥属性有两个组件,Name和Id。 Name属性可以是string,Id属性可以是Long。您可以使用Name或Id作为实体密钥的一部分。

使用JDO

您可以设置长属性,如下所示

@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Long id;

请参阅文档Jdo doc