について何かを欠場します。行:そしてもちろん、ドキュメントが Javaの客観化:私は有力候補に新たなんだと私は親子関係について何かを見逃して親と子供
は、私は、これは@Entity
public class StockRow {
@Parent Key<StockTable> table;
@Id Long id;
Long quantity;
String status;
String type;
String table;
private StockRow() {}
public StockRow (String tableName, com.google.appengine.api.datastore.Entity queryResult) {
id = queryResult.getKey().getId();
quantity = (Long) queryResult.getProperty("quantity");
status = (String) queryResult.getProperty("status");
type = (String) queryResult.getProperty("stock-name");
table = StockTable = Key.create(StockTable.class, tableName);
}
}
これは子供である
(私はここのためにゲッターをSUPRESS)定義された...いつものように非常に軽いです。
、親
@Entity
public class StockTable {
@Id public String table;
private StockTable() {}
}
非常にシンプル。
が、私はいくつかの行のテーブルを持つようにしたい:
は、私はこれについて2つの質問があります。テーブルには同じIDの行が含まれています。 StocktableのIDは、すべての行で共有されるIDです。それが行うには正しい方法
1)ですか?私はデータストアからそれらを照会するので
StockRow sが実体でなければなりません。 は、多分それはコンテナだが、私はそれを理解していない...
または多分それは親を定義するために役に立たないのか?
2)どのように指定されたidのすべての子をロードするには?
私はObjectifのwikiにこれを読んでますが、このクエリの目的は非常に明確ではありません。
Thing th = ofy().load().type(Thing.class).parent(par).id(123L).now();
私が最初par
内にあるかわからない、第二に、私は、この負荷は何ではないという印象を持っていますが欲しいです。
ありがとうございます!
ありがとう、私は今それを作るのに興味を持っています。しかし、あなたが言ったことで何か気になります:同じ種類の2つのエンティティが同じ鍵を共有できないのですか?私のデータフローの仕事ではプライマリではないキーを選択したと思うので、その場合はデータが不完全になるでしょう...私の最初の質問については、コードを修正しましたが、それはもう少し時間が必要です。 –
StockRowの "id"フィールドが主キーではないことを意味しますか?鍵の一部としての種類や祖先も覚えておいてください。テーブル内でユニークな限り、あなたは大丈夫です。そうでなければ、単一の一意のキーを定義する必要があります。 – Dawson
ありがとう、私はここで問題がある、私はすべてのデータを持っていないので、データストア内のStockRowsの人工キーを計算します。 Objectifyのためには、私はそれを使用しませんが、今はうまくいきませんが、助けてくれてありがとう! –