java - JDO中无法删除照片

标签 java google-app-engine persistence blob jdo

我很难做到这一点。我已经为谷歌应用程序引擎使用 JDO 完成了一个数据库,允许注册用户上传照片。但现在我想删除同一张照片,但我做不到。

这是我在数据库中的类(class)。

public class Autenticacao 
{   
@PrimaryKey
@Persistent
String utilizador;

@Persistent
String password;

@Persistent
String cookie;

@Persistent
String loginIP;

@Persistent
public Blob photo;

我正在尝试像这样删除 blob 对象。

public static String novo(Autenticacao utilAutenticado)
{
    PersistenceManager pm = PMF.get().getPersistenceManager();

    try {

        Object e = pm.getObjectById(utilAutenticado.photo);
        pm.deletePersistent(e);

    } finally {
        pm.close();

    }
    return null;

}

我尝试过其他方法,但似乎不起作用。我得到的最后一个错误是

“类“类“com.google.appengine.api.datastore.Blob””不可持久保存。这意味着它要么尚未增强,要么文件的增强版本不在 CLASSPATH 中(或被未增强版本隐藏),或者找不到该类的元数据/注释。” 不可持久.这意味着它要么尚未增强,要么文件的增强版本不在 CLASSPATH 中(或被未增强版本隐藏),或者找不到该类的元数据。”

无法真正理解为什么会发生这种情况。有人考虑过这个吗?

最佳答案

不知道你在那里尝试什么。这样做更有意义

utilAutenticado.setPhoto(null);

当“utilAutenticado”是托管对象时(即刚刚从 PersistenceManager 获取)。任何像样的 JDO 书籍都会表明这一点

关于java - JDO中无法删除照片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6461672/

相关文章:

java - 如何从 JavaFX 11 项目构建真正的桌面可执行应用程序?

java - 鼠标监听器和按键

google-app-engine - google app engine 无法创建 github 部署管道

google-app-engine - 使用 Google 的 Maven GAE 插件的 OAuth2 无密码 GAE 上传

java - 运行时的 JPA 级联选项

java - JPA:延迟加载光滑时刻

java - 使用javamail API接收邮件

google-app-engine - 在 beegae 中使用 CSS

java - Hibernatemock 的文档或教程?

java - 从资源管理器调用 war 文件中的 HTML 页面