自动增量列i JDO,GAE

时间:2011-01-01 08:17:13

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

我有一个带有一些字段的数据类,一个是我认为是PK的URL,如果我添加一个新项目(进行新的同步)并保存它应该覆盖数据库中的项目,如果它是相同的URL 。但是我还需要一个“正常”的Long id,它为数据库中的每个对象递增,对于这个我总是得到null,除非我将它标记为PK,如何获得这个增量但不能将列作为我的PK?

@Persistent(valueStrategy=IdGeneratorStrategy.IDENTITY)
private Long _id;
@Persistent
private String _title;
@PrimaryKey
@Persistent
private String _url;

/尤

1 个答案:

答案 0 :(得分:3)

这有效:

@PrimaryKey
private String _url;

@Persistent(valueStrategy = IdGeneratorStrategy.SEQUENCE)
private Long _id;

使用您的密钥填充_url,并在保存对象时保持_id不设置。然后应该自动填充_id,但我不确定它是否会成为序列ID。

信息来源:official Google AppEngine wiki