Что делает @Embedded, так это создает для вас столбцы, которые встроенный объект имеет в таблице объекта, который вы использовали. Если вы сделаете это, у вас будут одинаковые данные для гостя в двух таблицах.

могу представить отношение многих ко многим с Room? например У меня есть "Гость" и "Бронирование". В резервации может быть много гостей, а гость может быть частью многих бронирований.

Вот мои определения сущностей:

@Entity data class Reservation(
    @PrimaryKey val id: Long,
    val table: String,
    val guests: List<Guest>
)

@Entity data class Guest(
    @PrimaryKey val id: Long,
    val name: String,
    val email: String
)

Просматривая документы я наткнулся@Relation, Я нашел это действительно запутанным, хотя.

В соответствии с этим я хотел бы создать POJO и добавить туда связи. Итак, с моим примером я сделал следующее

data class ReservationForGuest(
    @Embedded val reservation: Reservation,
    @Relation(
        parentColumn = "reservation.id", 
        entityColumn = "id", 
        entity = Guest::class
    ) val guestList: List<Guest>
)

С вышеупомянутым я получаю ошибку компилятора:

Не могу понять, как читать это поле из курсора.

Я не смог найти рабочий образец@Relation.

Ответы на вопрос(5)

Ваш ответ на вопрос