App Engine JDO架构更改。更新新的非可空值

时间:2010-02-04 00:08:08

标签: java google-app-engine jdo

非可空类型包括int和boolean。我的问题是如何通过添加这些类型的新变量的架构更改来更新已经持久的对象。好像我无法检索这些对象,因为它们现在有一个null变量,其中不允许null!

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

  

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

这是否意味着无法将这些类型的变量添加到我的架构中?

1 个答案:

答案 0 :(得分:3)

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

  1. 您无法添加基元。您必须使用Integer和Boolean。而不是int和boolean。

  2. 您的代码必须为该属性做好准备。