Библиотека ActiveAndroid и внешние ключи
-
21-12-2019 - |
Вопрос
я использую активный андроид для работы с 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.
Не связан с StackOverflow