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&nbsp;по вопросу трекера. Надеюсь, они сделают что-нибудь по этому поводу.