[英]Multiple Tables In Android Room Database
我想知道如何在 android 房间数据库中拥有多个表并使用关系? 我需要一点解释,或者如果你有一个很好的教程,我将不胜感激
谢谢。
您可以通过为每个表定义不同的实体 class 来拥有多个表,例如,如果我们有两个表 FactCategory 和 Facts,则每个 FactCategory 可以有多个事实。
事实类别:
@Entity(tableName = "categories")
data class FactCategory(@PrimaryKey var id: String, var title: String)
事实:
@Entity(tableName = "facts")
class Fact(
@field:PrimaryKey val id: String,
val title: String,
val description: String?,
val imageHref: String?,
val catId: String
)
在您的数据库 class 中,添加所有必需的实体类。 您不能链接来自不同数据库的两个表。
在数据库中添加实体 class
@Database(entities = [::class, FactCategory::class], version = 1)
然后在您的 DAO object 中,您可以加入两个表:
@Query("select f.id, f.title, c.title, f.description from categories c join facts f on c.id = f.catId")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.