@Entity
data class Products(
val id:String,
val title: String,
val description: String,
val imgUrl: String,
val usageRules : List<String>, //what happens here?
)
我正在玩 ROOM for android,我看到的大多数示例都没有解释如何创建一个包含 arrayList 的实体表。
@Embedded 似乎只嵌套了另一个对象,但我试图嵌套一个名为 usageRules 的对象列表
我需要创建一个单独的使用规则表吗?问题是,每个使用规则可以包含在上面的多个产品中,并且一个产品可以定义多个使用规则,因此它是多对多关系。
ROOM 可以吗?
我知道在 Realm 中,我可以简单地将 UsageRule List<> 转换为 RealmList<>。ROOM 中是否有等价物?
另一种选择是因为它只是一个字符串列表。我可以简单地创建一个名为 allUsage 的新表实体字段,该字段使用分隔符存储特定产品上的所有使用规则,然后当我想再次从 ROOM 构造数据对象时,我可以通过执行 allUsage.Split(.. )
仍然宁愿以另一种方式做,因为我可能会遇到这样一个场景,其中 usageRules 不仅仅是一个字符串列表,而是一个对象列表......