используя objectify, как получить подмножество свойств для объекта - PullRequest
0 голосов
/ 27 июня 2011

У меня есть большой объект, который я храню, используя objectify.Мне нужен список этих объектов только с подмножеством заполненных свойств.Как это можно сделать?

Ответы [ 2 ]

2 голосов
/ 28 июня 2011

App Engine сохраняет и извлекает объекты в виде закодированных протокольных буферов.В базовой инфраструктуре нет способа хранить, обновлять или извлекать только часть объекта, поэтому нет смысла иметь библиотеку, которая делает это, поэтому Objectify, как и другие библиотеки, этого не делает.Если вам регулярно требуется доступ только к части объекта, разделите эти поля на отдельный объект.

0 голосов
/ 05 апреля 2013

Не стоит разделять сущность на две части в базе данных noSql: когда вам нужно прочитать список записей, вы должны будете выполнить n запросов, чтобы получить вторую часть списка (nxm, если ваши данныеделится на несколько объектов).Это, естественно, связано с тем, что в базах данных noSql невозможно объединение.

Что можно сделать, это "кэшировать": дублировать необходимое подмножество в другом объекте, чтобы получить максимальную производительность.Его недостатком является то, что он вынужден дважды писать в персистент основной сущности (если поле подмножества было изменено).

Я обычно пишу /** OPTIMIZE xxxx */ комментарий к нужному классучитать подмножество и возвращаться к нему, когда мне нужно больше производительности.

...