从序列化列表字段到列表字段客观化

时间:2017-01-23 17:16:02

标签: java google-app-engine objectify

我在我的GAE java服务器上使用objectify,我想用一个带有@Serialize注释的列表的字段更新一个类实体,我现在想把它转换成一个简单的列表。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

基本上,您创建了第二个包含首选格式的字段,并使用@OnLoad方法迁移数据。然后加载/保存所有实体。

然而,有一个问题。如果您有一个繁忙的系统,您可以放心,旧版本和新版本将共存一些请求。所以你必须要小心过渡。最安全的方法是:

  1. 部署创建(并保留)新字段的代码,优先使用它,但不要将数据写入其中。
  2. 部署用于迁移@OnLoad中数据的代码,使用@IgnoreSave(IfNull.class)删除旧数据(或者您更喜欢)
  3. 通过加载+保存
  4. 重新处理所有实体
  5. 从您的代码中删除旧字段