Задать вопрос
@newdancer

Как правильно реализовать в Room отношение many to many?

Как правильно реализовать в Room отношение many to many?
например таких таблиц
5b7d22dc7cc06553596891.jpeg
  • Вопрос задан
  • 966 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 2
Если вкратце, то в таблице связей ключи нужно описать примерно так:
@Entity(tableName = "invoiceDetail",
        primaryKeys = { "p_id", "inv_id" },
        foreignKeys = {
                @ForeignKey(entity = Product.class,
                            parentColumns = "p_id",
                            childColumns = "p_id"),
                @ForeignKey(entity = Invoice.class,
                            parentColumns = "inv_id",
                            childColumns = "inv_id")
                })

Ну а запросы вполне обычные - через inner join.
Вот здесь статья на эту тему
Ответ написан
@newdancer Автор вопроса
Пытался таким образом получить карты со списком категорий но не работает. Все данные null
public class CardWithCategoryEntity {
    @Embedded
    public CardEntity cardEntity;

    @Ignore
    @Relation(parentColumn = "id", entityColumn = "cards_id", entity = CardCategoryEntity.class, projection = {"cards_id, category_id, record_type"})
    public List<CategoryEntity> categoryList;
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы