Как создать методы API в Google App Engine, которые имеют несколько потомков / предков

У меня проблемы с пониманием того, как структурировать дерево предков с несколькими потомками. Предположим, у меня есть такая модель (каждая сущность имеетLong id):

User
    -Post
        -Comment

ГдеComment это внукUser.

Что действительно раздражает, так это вставитьComment Мне нужно сгенерировать ключPost, И чтобы сгенерировать ключPost Мне также нужно знать идентификаторUser:

Key<Post> postKey = Key.create(Key.create(User.class, userId), Post.class, postId);

Это проблема для меня, потому что при попытке вставить комментарий в хранилище данных мне нужно также передать userId и postId только для генерации ключаPost.

Точно так же раздражает попытка получить один пост, потому что мне нужно передать и userId, и postId для генерации ключа.

Я ищу лучший способ структурировать мою модель и методы API без необходимости передавать все эти идентификаторы предков моим методам., Я рассматривал вопрос о сохранении websafeKey в каждой сущности Post and Comment как свойство, подобное этому:

String websafeKey = Key.create(Key.create(User.class, userId), Post.class, postId).getString();
Key<Post> key = Key.create(websafeKey);

Тогда я мог бы получить ключ к каждой публикации и комментарию (и другим детям этих сущностей) прямо в сущности. Тогда, по-видимому, мне не нужно было бы постоянно передавать все эти идентификаторы предков моим методам API.

Не уверен, что это хорошая идея.

Ответы на вопрос(3)

Ваш ответ на вопрос