tknell
авил отношения один ко многим в комнате, используяСвязь, Я сослался наэта почта написать следующий код для отношения в комнате.
В посте рассказывается, как читать значения из базы данных, но сохранение сущностей в базе данных привело кuserId
быть пустым, что означает отсутствие связи между двумя таблицами.
Я не уверен, что это идеальный способinsert
a User
а такжеList of Pet
в базу данных, имеяuserId
значение.
1) Пользовательский объект:
@Entity
public class User {
@PrimaryKey
public int id; // User id
}
2) Pet Entity:
@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;
}
Теперь для получения записей из БД мы используем следующееDAO
:
@Dao
public interface UserDao {
@Insert
fun insertUser(user: User)
@Query("SELECT * FROM User")
public List<UserWithPets> loadUsersWithPets();
}
РЕДАКТИРОВАТЬ
Я создал эту проблемуhttps://issuetracker.google.com/issues/62848977 по вопросу трекера. Надеюсь, они сделают что-нибудь по этому поводу.