我很难做到这一点。我已经使用JDO for Google App Engine完成了一个数据库,该数据库允许注册用户上传照片。但是现在我正试图删除同一张照片,但我做不到。

这是我在数据库中的课程。

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/

10-11 07:12