问题描述
|
我很难做到这一点。我已经使用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书都会表明