Вопрос

я использую активный андроид для работы с SQLite на Android.

Например, у меня есть следующее Pets таблица с такой структурой:

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

}

Как показать во второй таблице под названием Achievements, что у него есть внешний ключ к primary_key принадлежащий Pets стол.

Это я делаю что-то вроде этого

@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;
    }
Это было полезно?

Решение

Прежде всего, вам следует дважды проверить свой код здесь.Я почистил его, как мог, но похоже, что у вас там есть некоторые ошибки, например, неправильное написание «Достижения» или множественное число конструктора «Достижения».

Чтобы настроить связь между достижением и записью о домашнем животном, вам необходимо изменить столбец «Питомец» следующим образом:

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

Для более подробной информации посмотрите это Вики-страница ActiveAndroid.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top