Je suis en train de créer une relation entre deux tables de base de données à l'aide de la nouvelle Android Persistance de la Salle de la Bibliothèque. J'ai regardé la documentation et essayé de mettre en application l'exemple à https://developer.android.com/reference/android/arch/persistence/room/Relation.html:
@Entity
public class User {
@PrimaryKey
int id;
}
@Entity
public class Pet {
@PrimaryKey
int id;
int userId;
String name;
}
@Dao
public interface UserDao {
@Query("SELECT * from User")
public List<User> loadUser();
}
@Dao
public interface PetDao {
@Query("SELECT * from Pet")
public List<Pet> loadUserAndPets();
}
public class UserAllPets {
@Embedded
public User user;
@Relation(parentColumn = "user.id", entityColumn = "userId", entity = Pet.class)
public List pets;
}
@Dao
public interface UserPetDao {
@Query("SELECT * from User")
public List<UserAllPets> loadUserAndPets();
}
J'obtiens l'erreur suivante
...error: Cannot figure out how to read this field from a cursor.
en ce qui concerne:
private java.util.List<?> pets;
Je tiens à souligner que j'ai trouvé certaines choses dans leur docs vraiment déroutant. Par exemple, le manque d' @PrimaryKey
et aussi le fait que l' User
classe est manquant, l' @Entity
d'annotation, même si c'est censé être une entité (comme fas comme je le vois). Quelqu'un s'exécuter dans le même problème? Merci beaucoup à l'avance