Я избегаю JDO и JPA, потому что они дают разработчикам ложное ощущение, что Datastore - это реляционная база данных.Люди используют JDO / JPA, потому что они знают их из мира SQL, и, насколько я видел, это может быть неоптимальным, потому что Datastore в любой среде, кроме реляционной базы данных / SQL.и использовать API, который является родным.
Таким образом, единственными оставленными параметрами являются низкоуровневый API (сущности, свойства, ключи) или objectify .
При низкоуровневом APIдает вам все возможности хранилища данных, вынуждает вас использовать сущности вместо ваших классов.Таким образом, вы заканчиваете тем, что пишете много стандартного кода, который выполняет копирование между сущностями и вашими объектами.
Objectify, был разработан специально для AppEngine Datastore и внутренне использует низкоуровневый API, поэтому он обладает всеми функциями и скоростью без каких-либо недостатков.Вы действительно должны попробовать.
Обновление:
Есть также другие варианты, похожие на objectify (похожие в том смысле, что они были сделаны специально для хранилища данных):Веточка и SimpleDS.См. Для сравнения: Поиск мнений об использовании Objectify-appengine вместо JDO в GAE-J