İlişkiyi kullanarak Room'daki birçok ilişkiye bir tane ekledim . Ben anılacaktır bu yazıOdadaki ilişki için aşağıdaki kodu yazmak başvurdum.
Gönderi, değerlerin veritabanından nasıl okunacağını anlatır, ancak varlıkları veritabanına depolamak userId
boş bu da 2 tablo arasında ilişki olmadığı anlamına gelir.
Ben ideal yolu emin ne değilim insert
bir User
ve List of Pet
yerken veritabanınauserId
değer.
1) Kullanıcı Varlığı:
@Entity
public class User {
@PrimaryKey
public int id; // User id
}
2) Evcil Hayvan Varlığı:
@Entity
public class Pet {
@PrimaryKey
public int id; // Pet id
public int userId; // User id
public String name;
}
3) UserWithPets POJO:
// Note: No annotation required at this class definition.
public class UserWithPets {
@Embedded
public User user;
@Relation(parentColumn = "id", entityColumn = "userId", entity = Pet.class)
public List<Pet> pets;
}
Şimdi kayıtları DB'den almak için aşağıdakileri kullanıyoruz DAO
:
@Dao
public interface UserDao {
@Insert
fun insertUser(user: User)
@Query("SELECT * FROM User")
public List<UserWithPets> loadUsersWithPets();
}
DÜZENLE
Bu sorunu https://issuetracker.google.com/issues/62848977 sorun izleyicide oluşturdum. Umarım bununla ilgili bir şeyler yaparlar.