2010-06-07 1 views
0

Я надеюсь, что кто-то это увидит. Я не нашел никаких подсказок в Google.Google AppEngine JDO Persistence FK Arrays

Я использую Google AppEngine с JDO для сохранения своих объектов.

У меня есть два объекта, родитель и ребенок. У каждого родителя есть n дочерних объектов.

Первоначально я хранил объекты Child в элементе данных ArrayList в классе родителя.

У меня есть исключение «java.lang.UnsupportedOperationException: FK Arrays не поддерживается» при сохранении родительского объекта.

Я положил это на хранение нескольких ссылок на дочерние ключевые слова, поэтому изменил их так, чтобы объекты-объекты Child хранилища ссылались на родительский объект. Таким образом, для одного дочернего объекта есть только одна ключевая ссылка вместо n ключевых ссылок на родительский объект.

Однако исключение все еще бросается при сохранении родительского объекта. Поэтому я подозреваю, что ошибался в вероятной причине этого исключения.

Кто-нибудь видел это исключение или знает, что это значит?

ответ

0

Согласно DataNucleus, по-прежнему сохраняется много вещей ... и у них даже была жалоба в своем блоге об этом руководстве на сайте механизма Google для рекламы, в котором говорилось, что вам нужно явно отмечать поля как @Persistent.

+0

У вас есть ссылка на публикацию в блоге? – CraigTeegarden

0

Я понял, что случилось.

Он не жаловался на мой ArrayList.

У моего родительского класса был элемент данных массива, на который я не добавил аннотацию. Массивы сохраняются по умолчанию при отсутствии аннотаций.

Я добавил аннотацию @NotPersistent, и это решило мою проблему.