私は appengine で objectify 3.1 を使用しており、祖先クエリを実行しようとしています。特定の種類のオブジェクトのすべての子をフェッチしたい。以下は私のコードです:
@Cached
@Entity
public class Car {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String make;
private String model;
}
@Cached
@Entity
public class Tire {
@Id
public String keyName;
@Parent Key<Car> car;
private String brand;
private String size;
}
私のクエリはこのコードです:
List<Tire> list= ofy.query(Tire.class).ancestor(new Key<Car(Car.class,carID))).list();
タイヤ オブジェクトを作成するときは、次のコードを使用して関係を設定します。
newTire.setCar(new Key<Car>(Car.class,Car.getID()));
親関係が存在することはわかっています。これは、データストア管理でクエリを実行でき、デコードされたエンティティ キーに親が表示されるためです。
Decoded entity key: Car: id=135172 > Tire: name=myCarUniqueID
このクエリは常に 0 の結果を返します。私は objectify Web サイトのすべてのベスト プラクティスに従っているようです。どんな助けでも大歓迎です!