Wie erstelle ich API-Methoden in Google App Engine, die mehrere Nachkommen / Vorfahren haben?
Ich habe Probleme zu verstehen, wie man einen Ahnenbaum mit mehreren Nachkommen strukturiert. Angenommen, ich habe ein Modell wie dieses (jede Entität hat einLong id
):
User
-Post
-Comment
Bei dem dieComment
ist das Enkelkind desUser
.
Was wirklich nervt, ist ein @ einzufügComment
Ich muss den Schlüssel des @ generierPost
. Und um den Schlüssel des @ zu generierPost
Ich muss auch die ID des @ kennUser
:
Key<Post> postKey = Key.create(Key.create(User.class, userId), Post.class, postId);
Dies ist ein Problem für mich, da ich beim Einfügen eines Kommentars in den Datenspeicher auch die Benutzer-ID und die Post-ID übergeben muss, um nur den Schlüssel des @ zu generierePost
.
Ebenso ist es ärgerlich zu versuchen, einen Beitrag zu erhalten, da ich sowohl die Benutzer-ID als auch die Post-ID übergeben muss, um den Schlüssel zu generieren.
Ich suche nach einer besseren Möglichkeit, meine Modell- und API-Methoden zu strukturieren, ohne all diese Vorfahren-IDs an meine Methoden übergeben zu müssen.. Ich habe überlegt, den websafeKey in jeder Post- und Comment-Entität als eine Eigenschaft wie die folgende zu speichern:
String websafeKey = Key.create(Key.create(User.class, userId), Post.class, postId).getString();
Key<Post> key = Key.create(websafeKey);
Dann könnte ich den Schlüssel zu jedem Beitrag und Kommentar (und anderen Kindern dieser Entitäten) genau dort in der Entität finden. Dann müsste ich vermutlich nicht immer alle diese Vorfahren-IDs an meine API-Methoden übergeben.
Nicht sicher, ob das eine gute Idee ist.