ایجاد نما در پایگاه داده

کتابخانه ماندگاری 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
}