Sala Android: insira entidades de relação usando a Sala

Adicionei um a muitos relacionamentos no Room usandoRelação. Eu me referi aesta postagem para escrever o seguinte código para relação em Room.

A postagem informa como ler os valores do banco de dados, mas o armazenamento das entidades no banco de dados resultou emuserId estar vazio, o que significa que não há relação entre as 2 tabelas.

Não sei ao certo qual é a maneira ideal deinsert a User eList of Pet no banco de dados enquanto tiveruserId valor.

1) Entidade do usuário:

@Entity
public class User {
    @PrimaryKey
    public int id; // User id
}

2) Entidade do animal de estimação:

@Entity
public class Pet {
    @PrimaryKey
    public int id;     // Pet id
    public int userId; // User id
    public String name;
}

3) POWO UserWithPets:

// 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;
}

Agora, para buscar os registros do DB, usamos o seguinteDAO:

@Dao
public interface UserDao {
    @Insert
    fun insertUser(user: User)

    @Query("SELECT * FROM User")
    public List<UserWithPets> loadUsersWithPets();
}

EDITAR

Eu criei este problemahttps://issuetracker.google.com/issues/62848977 no rastreador de problemas. Espero que eles façam algo a respeito.

questionAnswers(4)

yourAnswerToTheQuestion