[英]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.