java - JUDO、GAME中的自增列

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

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

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

/维克托

最佳答案

这个有效:

@PrimaryKey
private String _url;

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

使用您的 key 填充 _url 并在保存对象时保留 _id 未设置。 _id 应该会自动填充,但我不确定它是否会成为顺序 ID。

信息来源:official Google AppEngine wiki .

关于java - JUDO、GAME中的自增列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4573537/

相关文章:

java - 这个通用数组如何合法?

java - 如何使用 Java 解析 XML?

android-studio - GAE 在 android studio 上从 java 7 迁移到 8

google-app-engine - 遗留 GCE 元数据服务器端点和 GAE flex 应用程序

python - 如何在 Google App Engine 数据存储中存储正则表达式?

java - 查找 double 之间的整数个数

Java替换正则表达式的所有无效字符

java - 谷歌应用引擎 : Java or Python

python - 为带有祖先的 key 创建一个好看的 url

google-app-engine - 有什么工具可以备份/恢复 Google Datastore 实体吗?