Room 永久保存程式庫支援 SQLite 資料庫檢視區塊,可讓您將查詢封裝在類別中。Room 將這些受查詢支援的類別稱為「檢視區塊」,您可以在資料存取物件 (DAO) 中將其做為資料物件使用。
建立檢視表
如要建立檢視區塊,請在類別中加入 @DatabaseView 註解。將註解值設為類別代表的查詢。
以下程式碼片段提供檢視表範例:
@DatabaseView( """ SELECT User.id, User.name, User.departmentId, Department.name AS departmentName FROM User INNER JOIN Department ON User.departmentId = Department.id """ ) data class UserDetail( val id: Long, val name: String?, val departmentId: Long, val departmentName: String? )
將檢視表與資料庫建立關聯
如要在資料庫中加入這個檢視區塊,請將 views 屬性新增至應用程式的 @Database 註解:
@Database( entities = [User::class, Department::class], views = [UserDetail::class], version = 1 ) abstract class AppDatabase : RoomDatabase() { abstract fun userDao(): UserDao }