Gyr*_*ope 3 google-app-engine objectify google-cloud-endpoints
我正在尝试使用objectify从我的数据存储区中删除实体,但即使在关闭实例并重新启动它之后似乎也没有删除.这是实体在数据存储区中的样子(无论是在生产服务器和开发服务器上):

这是我用来尝试删除它的代码:
@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);
}
Run Code Online (Sandbox Code Playgroud)
我也试过这段代码:
@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);
}
Run Code Online (Sandbox Code Playgroud)
但该实体永远不会被删除.这是我的实体的代码:
@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..
}
Run Code Online (Sandbox Code Playgroud)
我似乎无法找到问题所在:(任何帮助都会非常感激!我确定这是我忽视的一些小问题(相当新的Objectify/AppEngine).
小智 5
您在Endpoint中的参数中的ID是一个String,并且您尝试删除ID为Long的对象DataVersion.
ofy().delete().type(DataVersion.class).id(Long.valueOf(id)).now();
Run Code Online (Sandbox Code Playgroud)
会更好!
| 归档时间: |
|
| 查看次数: |
993 次 |
| 最近记录: |