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