gpt4 book ai didi

google-app-engine - 对象化删除似乎不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 15:32:26 24 4
gpt4 key购买 nike

我正在尝试使用 objectify 从我的数据存储中删除一个实体,但即使在关闭实例并重新启动它之后似乎也没有被删除。这是实体在数据存储中的样子(无论是在生产服务器还是开发服务器上):

enter image description here

这是我用来尝试删除它的代码:

@ApiMethod(name = "deleteDataVersion")
public Result deleteDataVersion(@Named("id") String id) {

// Where id is the id of the entity in the datastore.

if (id != null && !id.equals("")) {
ofy().delete().type(DataVersion.class).id(id).now();
return new Result(Result.STATUS_SUCCESS);
} else
return new Result(Result.STATUS_FAILED);
}

我也试过这段代码:

@ApiMethod(name = "deleteDataVersion")
public Result deleteDataVersion(@Named("id") String id) {

if (id != null && !id.equals("")) {

// DataVersion doesn't have a parent.
Key<DataVersion> key = Key.create(null, DataVersion.class, id);

ofy().delete().key(key).now();
return new Result(Result.STATUS_SUCCESS);
} else
return new Result(Result.STATUS_FAILED);
}

但实体永远不会被删除。这是我的实体的代码:

@Entity
public class DataVersion {

@Id
private Long id;
String folderName;
@Index
String effective;

public DataVersion() {
}

public DataVersion(String folderName, String effective ) {
this.folderName= folderName;
this.effective = effective;
}

// Getters & setters..
}

我似乎找不到问题 :( 任何帮助将不胜感激!我确定这是我忽略的小问题(Objectify/AppEngine 相当新)。

最佳答案

您的 Endpoint 参数中的 ID 是一个字符串,您尝试删除 ID 为 Long 的对象 DataVersion。

ofy().delete().type(DataVersion.class).id(Long.valueOf(id)).now();

会更好!

关于google-app-engine - 对象化删除似乎不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23681901/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com