房间实体取决于自身(关系注释)

时间:2018-11-19 13:30:14

标签: android android-sqlite android-room

我对房间和关系有疑问。 我知道如何将实体链接到自身(使用外键,但是我无法检索具有所有依赖关系的所有那些数据。

@Entity(tableName = "a",
foreignKeys = [
            ForeignKey(entity = A::class, parentColumns = ["id"], childColumns = ["parent_id"], onDelete = CASCADE)
        ])
data class A(@PrimaryKey val id:Long?, val parentId:Long?)

现在我想获取所有数据(父级及其子级),所以我创建了带有Relation注释的类:

data class B(
@Embedded var parent:A?, 
@Relation(entity = "A::class, parentColumn = "id", entityColumn = "parent_id")  var childred: List<B>?
)

我想建立一个链,其中每个孩子都可以成为另一个孩子的父母,但是当B类的列表类型为B时会出现问题。

您知道我该如何解决吗? 或者也许我在关系方面做错了什么?

**我知道A类只有id和parent_id,但这只是一个例子。同样的B类可能具有C,D等其他关系。

0 个答案:

没有答案