2010-02-04 65 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