强制改变"实体密钥"对于数据存储区中的对象

时间:2015-01-30 09:53:46

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

正如标题所说,我想强制更改数据存储区中某种类型的ID是否可能?该类型使用以下内容自动生成ID:

@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
@Extension(vendorName="datanucleus", key="gae.encoded-pk", value="true")
private String id;

原因是什么?我不小心删除了一些我想要恢复的项目,我有他们的ID和所有属性,但是如果可能的话,ID也是一样的。

我尝试了创建新实体并设置ID:但似乎不可能。我没有得到任何错误,但实体不会被保存。

谢谢!

1 个答案:

答案 0 :(得分:0)

似乎实际上可以手动设置对象的ID。

之前没有工作的原因是因为我尝试使用自定义ID(只是为了查看它是否有效),但这并不起作用。如果您使用的是完全相同的ID,则可以使用该ID创建具有该ID的新实体。