Frage

Ich benutze aktiver Android um mit SQLite auf Android zu arbeiten.

Ich habe zum Beispiel folgendes Pets Tabelle mit dieser Struktur:

@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;
    }

}

Wie zeige ich in einer zweiten Tabelle, genannt Achievements, dass es einen Fremdschlüssel zum hat primary_key des Pets Tisch.

Ich mache so etwas

@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;
    }
War es hilfreich?

Lösung

Zunächst sollten Sie Ihren Code hier noch einmal überprüfen.Ich habe es so gut ich konnte bereinigt, aber es sieht immer noch so aus, als hätten Sie einige Fehler darin, z. B. dass Achievements falsch geschrieben sind und der Achievements-Konstruktor im Plural steht.

Um die Beziehung zwischen einem Erfolg und dem Haustierdatensatz einzurichten, müssen Sie die Spalte „Haustier“ wie folgt ändern:

@Column(name = "Pet")
public Pet pet;

Weitere Einzelheiten finden Sie hier ActiveAndroid-Wiki-Seite.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top