Cómo crear métodos API en Google App Engine que tienen varios descendientes / antepasados

Tengo problemas para entender cómo estructurar un árbol ancestral con varios descendientes. Supongamos que tengo un modelo como este (cada entidad tiene unLong id):

User
    -Post
        -Comment

Donde elComment es el nieto de laUser.

Lo que es realmente molesto es insertar unComment Necesito generar la clave de laPost. Y para generar la Clave de laPost También necesito saber la identificación delUser:

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

Esto es un problema para mí porque cuando intento insertar un Comentario en el almacén de datos, también necesito pasar el ID de usuario y el ID de post solo para generar la clave delPost.

Del mismo modo, es molesto intentar obtener una publicación única porque necesito pasar el ID de usuario y el ID de Post para generar la clave.

Estoy buscando una mejor manera de estructurar mi modelo y métodos API sin tener que pasar todas esas ID de antepasados a mis métodos. Estaba considerando almacenar websafeKey en cada entidad de publicación y comentario como una propiedad como esta:

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

Entonces podría la clave de cada publicación y comentario (y otros hijos de estas entidades) allí mismo en la entidad. Entonces, presumiblemente, no tendría que pasar todas esas ID de antepasados a mis métodos API todo el tiempo.

Sin embargo, no estoy seguro de si es una buena idea.

Respuestas a la pregunta(3)

Su respuesta a la pregunta