3

Мне просто нужно изменить порядок элементов в (ранее сохраненной) упорядоченной коллекции ...Как изменить заказ в заказе + сохраненная коллекция?

Я пробовал просто передать переделанную коллекцию сеттера: после совершения транзакции коллекция исчезла.
Затем я попытался очистить() существующую коллекцию и addAll() после этого: clear() делает постоянный менеджер отмечать все элементы как удаленные. (Но, очевидно, я хотел бы иметь возможность работать с элементами коллекции в самой транзакции.)

(Коллекция не входит в группу выборки по умолчанию, поэтому я попробовал также вышесказанное с указанной группой выборки, добавленной в fetch plan. Не повезло.)

Это должен быть самый глупый вопрос, но у меня кончились идеи, и я застрял здесь два дня. Клянусь, я googled. :(

ответ

1

Порядок данных устанавливается в индексе. К сожалению, функциональность, чтобы удалить или сбросить индекс не существует в данный момент (How-to delete indexes in Google App Engine (Java)?.

Это может быть возможно динамически изменять индекс, тем не менее. Посмотрите на http://rahulswackyworld.blogspot.com/2010/03/dynamic-indexes-with-google-app-engine.html.

+0

Спасибо. пока это помогает ей придется делать, хотя это звучит любопытное странно, что никто не нужен, чтобы изменить порядок элементов в коллекции. Я использую Java, хотя , и учитывая, что связанное решение работает с Python, мне может быть не так легко реализовать. Итак, я просто думал, вы думаете, что даже имеет смысл удалить pa арендовать объект и воссоздать его с изменением коллекции? (Кроме того, он останется неизменным, включая идентичный ключ.) –

+0

Это может быть сделано. Теоретически это ужасная идея, но практически она, вероятно, будет работать. Кажется, проблема заключается в том, что хранилище данных Google упрощает отношения сбора и не дает очевидного способа варьировать запрос, который их считывает (вы должны иметь возможность использовать заказ в запросе для получения коллекции в заданном но я не соглашусь с этим. –

+0

Да, ужасно, я согласен. Я так не пойду. Ну, учитывая, что я не могу получить официальное слово от Google, я думаю, что вы дали мне ответ . Спасибо за ваше время, Мэтью. –

Смежные вопросы