我正在嘗試實現一個簡單的GAE服務。特殊情況我有學生實體和類別實體。對每個學生可以關聯一個或多個類別。我如何使用Objectify創建這種關係? THanks物化與關係
編輯:這是我的代碼。它有效嗎?
@Entity
public class Studente {
static long nextID = 17;
public static Key<Studente> key(long id) {
return Key.create(Studente.class, id);
}
List<Key<Categoria>> categorie;
public Studente() {}
@Id Long id;
@Index String nome;
@Index String cognome;
@Index String username;
@Index String password;
public Studente(String nome, String cognome, String username, String password) {
this.nome=nome;
this.cognome=cognome;
this.username=username;
this.password=password;
categorie = new ArrayList<Key<Categoria>>();
}
public static long getNextID() {
return nextID;
}
public static void setNextID(long nextID) {
Studente.nextID = nextID;
}
public List<Key<Categoria>> getCategorie() {
return categorie;
}
public void setCategorie(List<Key<Categoria>> categorie) {
this.categorie = categorie;
}
public void addCategoria(Key<Categoria> k){
categorie.add(k);
}
}
在答案的同時,我做了一個示例工作代碼。你能檢查我的問題嗎? – Frank
你的解決方案應該可以工作,但它不是很方便。 'Ref'比'Key'更方便(參見我鏈接的文檔)。此外,如果列表中沒有「@ Index」註釋,您將無法查詢具有某個類別的學生。你只能說出一個不同的學生有什麼類別。拋開一切,你的解決方案應該工作,是的。 –
您可以在沒有中介'StudentCategory'實體的情況下,通過使用每個'Student'和'Category'中的參考列表來做同樣的事情。這將爲您節省額外的代碼和成本。 –