2010-02-04 61 views
1

不可为空的类型包括int和boolean。我的问题是如何更新已添加新变量的模式更改时已经存在的对象。看起来好像我无法检索这些对象,因为它们现在有一个null变量,其中null不允许!App Engine JDO模式更改。更新新的不可空值

据:http://code.google.com/appengine/docs/java/datastore/dataclasses.html#Object_Fields_and_Entity_Properties

如果该字段是不是一个空值类型的,加载的实体而无需相应属性会引发异常。如果实体是从用于重新创建实例的同一个JDO类创建的,但是如果JDO类发生更改或者实体是使用低级API而不是JDO创建的,则不会发生这种情况。

这是否意味着将这些类型的变量添加到我的模式是不可能的?

回答

3

您可以添加新的属性,但它们需要能够接受空值,这意味着两件事情:

  1. 不能添加元。而不是int和布尔值,你必须使用Integer和Boolean。

  2. 您的代码必须准备好,以使该属性为null。

+0

支持添加基元,我提出了一个问题,如果您感兴趣,请将其显示出来。 http://code.google.com/p/googleappengine/issues/detail?id=4644 – tempy 2011-02-24 15:26:48