Como criar métodos de API no Google App Engine que possuem vários descendentes / ancestrais

Estou tendo problemas para entender como estruturar uma árvore ancestral com vários falecidos. Suponha que eu tenha um modelo como este (toda entidade tem umLong id):

User
    -Post
        -Comment

Onde oComment é o neto doUser.

O que é realmente irritante é inserir umComment Eu preciso gerar a chave doPost. E para gerar a chave doPost Eu também preciso saber o ID doUser:

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

Isso é um problema para mim porque, ao tentar inserir um Comentário no armazenamento de dados, também preciso passar o userId e o postId apenas para gerar a chave doPost.

Da mesma forma, é chato tentar obter um Post porque preciso passar o userId e o postId para gerar a chave.

Estou procurando uma maneira melhor de estruturar meu modelo e métodos de API sem precisar passar todos esses IDs de ancestralidade para meus métodos. Eu estava pensando em armazenar o websafeKey em todas as entidades Post e Comment como uma propriedade como esta:

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

Então eu pude a chave para cada Post e Comentário (e outros filhos dessas Entidades)) ali mesmo na Entidade. Então, presumivelmente, eu não precisaria passar todos esses IDs de ancestrais para meus métodos de API o tempo todo.

Não tenho certeza se é uma boa ideia.