ActiveAndroid lib e chiavi straniere
-
21-12-2019 - |
Domanda
Sto usando attivo Android per lavorare con SQLite su Android. .
Ad esempio, ho la seguente tabella Pets
con questa struttura:
@Table(name = "Pets")
public class Pet extends Model {
@Column(name = "Name")
public String name;
@Column(name = "Gender")
public String gender;
@Column(name = "DoB")
public Date dob;
public Pet() {
super();
}
public Pet(String name, String gender, Date dob) {
super();
this.name = name;
this.gender = gender;
this.dob = dob;
}
}
.
Come faccio a mostrare in una seconda tabella, chiamata Achievements
, che ha una chiave straniera per il primary_key
della tabella Pets
.
Questo è sto facendo qualcosa come questo
@Table(name = "Achievements")
public class Achievement extends Model {
@Column(name = "name")
public String name;
@Column(name = "pet_id")
public Pet pet;
public Achievements() {
super();
}
public Achievements(String name,Pet pet) {
super();
this.name = name;
this.pet = pet;
}
. Soluzione
Prima di tutto, dovresti ricontrollare il tuo codice qui.L'ho ripulito come meglio potrei ma sembra ancora che tu abbia alcuni errori lì dentro, come i risultati scritti in modo errato e il costruttore dei risultati è plurale.
Per configurare la relazione tra un risultato e il record PET, è necessario modificare la colonna PET per essere i seguenti:
@Column(name = "Pet")
public Pet pet;
.
Per maggiori dettagli Dai un'occhiata a questo ActiveAnDroid Wiki Page.