我正在使用 Google App Engine,但是当我尝试在数据存储中存储对象时遇到了一些问题。我正在使用 Eclipse Indico 平台、JDO 来描述我想要存储的对象以及用于用户界面的 JSF 技术。当我在 ecliplse 平台上运行我的应用程序时,有时它工作正常(对象存储正确),有时它不起作用,当代码执行时没有任何反应(也没有错误消息),如果我删除文件 war/WEB -INF/appengine-generated/local_db.bin 在执行之前不会重新创建它。当我在 Google App Engine 上运行相同的应用程序时,问题是一样的:在执行过程中什么都没有发生,或者有时最后一个存储的对象被最后一个替换。我不明白为什么同一个应用程序,没有任何改变就可以工作,而且没有理由就不能工作。
这是我的对象之一(省略了 getter 和 setter 方法):
@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class User implements Serializable {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Long idUser;
@Persistent
private String email;
@Persistent
private String name;
@Persistent
private String surname;
@Persistent
private String password;
这是我用来存储对象的代码:
public Utente creaUtente(User user) {
PersistenceManager pm = PMF.get().getPersistenceManager();
try {
user = pm.makePersistent(user);
} catch (Exception e) { // TODO: handle exception
System.out.println(e.getMessage() + "DB-creaUtente");
}
finally{
pm.close();
}
return user;
}
有什么想法可以解决这个问题吗?