2

私は 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 サイトのすべてのベスト プラクティスに従っているようです。どんな助けでも大歓迎です!

4

1 に答える 1

2

コードは問題ないように見えるので、間違っている可能性があるのは存在しないことだけですcarID

このサイトにリストされているObjectifyjavadocは、実際には、今後のObjectify4であるトランクバージョン用です。確認する必要があるのはObjectify3.1 javadocです。このバージョンはfetch()、クエリに含まれています。

また、Objectifyアノテーション@GeneratedValueではありません。

于 2012-04-11T20:01:38.823 に答える