我很难做到这一点。我已经使用JDO为谷歌应用引擎做了一个数据库,允许注册用户上传照片。但现在我正在尝试删除相同的照片,我只是不能这样做。
这是我在db中的课程。
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中(或者被未增强版本隐藏),或者找不到类的元数据。“
无法真正理解为什么会这样。有人想过这个吗?
答案 0 :(得分:2)
不知道你在那里尝试的是什么。只做
会更有意义utilAutenticado.setPhoto(null);
当“utilAutenticado”是一个托管对象(即刚从PersistenceManager获得)时。任何体面的JDO书都会表明