0

これらの2つのフェッチでNotFoundExceptionが発生するのはなぜですか?

ofy().load().type(MyClass.class).id(myClassInstance.getId()).safeGet(); 
ofy().load().key(myClassInstance.getKey()).safeGet();

ただし、このクエリはエンティティを返します。

ofy().load().type(MyClass.class).filter("fieldName",myClassInstance.getUserId()).first().get();

追加情報:MyClassには@Parentおよび@Idフィールドが含まれています

4

1 に答える 1

0

キーでロードするときに親キーを指定していません。

ofy().load().type(MyClass.class).id(myClassInstance.getId()).safeGet();
// should be:
ofy().load().type(MyClass.class).parent(myClassInstance.getParent()).id(myClassInstance.getId()).safeGet();

2行目では、getKey()の実装に欠陥があり、親キーが欠落していると思われます。クエリはキールックアップではないため、クエリは機能します。プロパティのインデックスにあるものを返すだけです。

IDは特定の親に対してのみ一意であることに注意してください。エンティティの一意の識別子は{parent、id}です。https://code.google.com/p/objectify-appengine/wiki/Conceptsを注意深くお読みください。

于 2012-12-06T20:09:53.953 に答える