簡體   English   中英

Android 房間數據庫中的多個表

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM