Je travaille avec la base de données des pièces d'Android et j'ai de gros problèmes pour comprendre comment.. :
-
Lorsque j'ajoute un
Person
à la base de données, il ajoute toutes ses variables, par exempleList<Shoe>
,List<Pet>
etc. à la base de données également. -
Créer des relations telles que lorsque je récupère un
Person
tous ses champs sont récupérés, par exemplePet, Shoe, Shirt
etc. (Je ne suis pas sûr du type de requête dont il s'agit) -
Effectuer une requête simple, par exemple
Retrieve Person where
nom.de la chaussure= "boot"
;
Je sais que vous devez utiliser des relations de type Foreign Key avec une liste d'objets, sinon avec un seul objet on peut utiliser @Embed
o @TypeConverter
Un exemple de code est présenté ci-dessous ;
@Entity(tableName = "person")
public class Person {
@PrimaryKey
@NonNull
private String personId;
private List<Pet> pets;
private List<Shoe> shoes;
private List<Shirt> shirts;
}
@Entity(foreignKeys = {
@ForeignKey(
entity = Person.class,
parentColumns = "personId",
childColumns = "personIdFk"
)
})
public class Pet {
String petId;
String name;
String personIdFk; //Foreign key to person
}
@Entity(foreignKeys = {
@ForeignKey(
entity = Person.class,
parentColumns = "personId",
childColumns = "personIdFk"
)
})
public class Shoe {
String shoeId;
String name;
String personIdFk; //Foreign key to person
}
@Entity(foreignKeys = {
@ForeignKey(
entity = Person.class,
parentColumns = "personId",
childColumns = "personIdFk"
)
})
public class Shirt {
String shirtId;
String name;
String personIdFk; //Foreign key to person
}