GAE-JDO ドキュメントは、子キーから親キーを取得できることを示唆しています。
キーの文字列表現は暗号化されていないことにも注意してください。ユーザーはキー文字列をデコードして、エンティティとその祖先の種類と識別子を含むコンポーネントを抽出できます。
REF: 「エンティティ、プロパティ、およびキー」
以下を使用してキーを生成しています。
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
@Extension(vendorName = "datanucleus", key = "gae.encoded-pk", value = "true")
private String id;
データストアを調べると、エンティティ キーは次のようになります。
parent.id = agpzfnZpdmVlbGFichQLEgdTZXNzaW9uGICAgICgwMsIDA
child1.id = agpzfnZpdmVlbGFiciYLEgdTZXNzaW9uGICAgICgwMsIDAsSBVN0YWdlGICAgICAwK8KDA
...
(ここで、親はタイプ Child の子を持ちます)。したがって、私が探しているのは、次のような GWT 関数です。
String getParentIdFromChildId(String childId) {
String parentId = ...
return parentId;
}
クライアント (GWT) から子オブジェクトを参照できるように (最初にその親を見つけることによって):
Child child = data.getParent(getParentIdFromChildId(childId)).getChild(childId);
親IDも追跡することでこの問題を解決できますが、親情報がすでに子IDに埋め込まれている場合、これは非効率的です。
前もって感謝します。
〜オーウェン