添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

对象没有存储在谷歌应用引擎数据存储中

0 人关注

我在数据存储中存储一个对象时遇到了问题。 我有一个对象,MyObject,我试图存储它,但是当代码被执行时,什么也没有发生。我去看数据存储的仪表板,MyObject不在那里。 没有抛出异常,也没有错误。

这是我的对象

@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class MyObject{
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key key;
@Persistent
String name;
@Persistent
String beta;
@Persistent
double loc;
public MyObject(String name1){
    name = name1;
//getters and setters

这是存储该对象的代码

public static void saveMyObject(MyObject a)throws Exception{
    PersistenceManager pm = PMF.get().getPersistenceManager();
    try{
        pm.makePersistent(a);
    catch(Exception e){
        throw e;
    finally{
        pm.close();

有人能看出我错过了什么吗?

1 个评论
ori
我也遇到过类似的问题,直到我放弃了,转而使用 objectify。我调用 pm.makePersistent ,datanucleus会生成一个FINE级别的日志,说 "对象状态n_persistent => hollow "或类似的东西,然后返回,好像一切正常。需要几个这样的事件才能完全失去信心。
java
google-app-engine
google-cloud-datastore
Krux
Krux
发布于 2012-06-10
1 个回答
Ian Marshall
Ian Marshall
发布于 2012-06-11
0 人赞同

看起来你在使用JDO,所以你可能需要添加一个 JDO ,或者在某个地方提到....。

pm.makePersistent(a); MyObject myObj = new MyObject (a.getName()); // or whatever the getter is myObj.setField2(a.getField2()); // Copy 1 data member from a ... // Make a MyObject.copy(...) method? pm.makePersistent(myObj);