Biblioteca ActiveAndroid e chaves estrangeiras
-
21-12-2019 - |
Pergunta
estou a usar andróide ativo para trabalhar com SQLite no Android.
Por exemplo, tenho o seguinte Pets
tabela com esta estrutura:
@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;
}
}
Como faço para mostrar em uma segunda tabela, chamada Achievements
, que possui uma chave estrangeira para o primary_key
do Pets
mesa.
Isso é que estou fazendo algo assim
@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;
}
Solução
Primeiro, você deve verificar seu código aqui.Limpei tudo o melhor que pude, mas ainda parece que há alguns erros, como Conquistas escritas incorretamente e construtor de Conquistas no plural.
Para configurar o relacionamento entre uma conquista e o registro do animal de estimação, você precisa alterar a coluna animal de estimação para o seguinte:
@Column(name = "Pet")
public Pet pet;
Para mais detalhes dê uma olhada nisso Página Wiki do ActiveAndroid.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow