Google App Engine云端点 - 更新实体后的不一致性

时间:2013-08-10 10:38:21

标签: google-app-engine google-cloud-endpoints

几天前,我开始使用Google App Engine和Google Cloud Endpoints开发移动应用后端。

最初我部署了第一个版本,其中包含以下实体字段:

  @Entity
public class Tweet {

  @Id
  private String id;
  private String user;
  private String text;
  private String date;
  private int count;
  private String linkTweet;

过了一会儿,我添加了其他字段:

@Entity
public class Tweet {

  @Id
  private String id;
  private String user;
  private String text;
  private String date;
  private int count;
  private String linkTweet;
  private String imageHttp;
  private String imageHttps;
  private String userId;

在数据存储区中,我看到了更改,但当我转到https://myappid.appspot.com/_ah/api/tweetendpoint/v1/tweet时,我只看到旧字段,没有 imageHttp imageHttps userId字段 :(

我哪里错了?

2 个答案:

答案 0 :(得分:0)

我做了同样的改变而且工作正常。我的代码和你的代码之间的唯一区别是我使用JDO并在每个属性之前都有标记(@Persistence)。

@PersistenceCapable(detachable="true")
public class Test implements Serializable {

  @PrimaryKey
  @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
  private String id;
  ...
  @Persistent
  private String newAttribute;
}

注意:如果您在新字段中没有数据,则不会在响应中看到它们。

答案 1 :(得分:0)

这是一个引人注目的问题。 Google员工应该尽快修复它:

https://code.google.com/p/googleappengine/issues/detail?id=9686