在 Datastore 中为 object 强行更改 "Entity key"

Forcefully change "Entity key" for object in Datastore

正如标题所说,我想强行更改datastore中一个Kind的ID,可以吗?种类使用以下自动生成ID:

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

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

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

谢谢!

看来手动设置对象的ID还真管用。

之前没用的原因是因为我试过用自定义的ID(只是为了看看能不能用),没用。如果您使用的是与之前完全相同的 ID,则可以使用该 ID 创建一个新实体。