我如何表示与 的“多对多”关系Room
?我的列名也一样。
例如我有Guest
和Reservation
。Reservation
can have many Guest
's 和 aGuest
可以是许多 Reservations 的一部分。
这是我的实体定义:
@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>
)
上面我得到编译器错误:
> Cannot figure out how to read this field from a cursor.
我无法找到@Relation
.