Biblioteca ActiveAndroid y claves foráneas
-
21-12-2019 - |
Pregunta
Estoy usando androide activo para trabajar con SQLite en Android.
Por ejemplo, tengo lo siguiente Pets
tabla con esta estructura:
@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;
}
}
¿Cómo lo muestro en una segunda tabla, llamada Achievements
, que tiene una clave externa para el primary_key
del Pets
mesa.
Esto es lo que estoy haciendo como esto.
@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;
}
Solución
primero, debe revisar su código aquí.Lo limpié lo mejor que pude, pero todavía parece que tiene algunos errores allí, como los logros que se escriben incorrectamente y el constructor de logros es plural.
Para configurar la relación entre un logro y el registro de mascotas, debe cambiar la columna PET para que sea la siguiente:
@Column(name = "Pet")
public Pet pet;
Para más detalles, eche un vistazo a este Página de Wiki de ActiveAndroid.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow