如何解决会议室DB使用@Relation将表A连接到表B,将表B连接到C
我们说表A需要与表B联接
data class MasterQuery{
@Embedded var tableA: TableA,@Relation(
parentColumn = "table_a_relation",entityColumn = "table_b_details"
)
val tableB: TableB
}
现在如何将TableB加入TableC?并从所有三个表中获取MasterQuery结果。
首先不能将嵌入和关联放在同一字段上。
然后这也会失败-
data class MasterQuery{
@Embedded var tableA: TableA,entityColumn = "table_b_details",entity = SubQuery::class)
val subQuery: SubQuery
}
@Entity
data class SubQuery{
@Embedded var tableB: TableB,@Relation(
parentColumn = "table_b_relation",entityColumn = "table_c_details"
)
val tableC: TableC
}
请帮助我解决这个问题。
解决方法
尝试对您的课程进行以下更正:
data class MasterQuery{
@Embedded var tableA: TableA,@Relation(
parentColumn = "table_a_relation",entityColumn = "table_b_details",//entity = SubQuery::class) <---- 1. replace this with TableB class
entity = TableB::class)
val subQuery: SubQuery
}
//@Entity <---- 2. You don't need this
data class SubQuery{
@Embedded var tableB: TableB,@Relation(
parentColumn = "table_b_relation",entityColumn = "table_c_details"
)
val tableC: TableC
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。