إنشاء جداول بيانات في قاعدة بيانات

الإصدار 2.1.0 والإصدارات الأحدث من تثبيت الغرفة المكتبة توفر الدعم لقاعدة بيانات SQLite المشاهدات، ما يتيح لك لتغليف استعلام في فئة ما. تشير الغرفة إلى هذه الفئات المستندة إلى طلبات البحث كطرق العرض، وتعمل بنفس الطريقة التي تعمل بها كائنات البيانات البسيطة عند استخدامها في DAO:

إنشاء ملف شخصي

لإنشاء طريقة عرض، أضف إضافة تعليق توضيحي @DatabaseView إلى صف دراسي اضبط قيمة التعليق التوضيحي على طلب البحث الذي يجب أن تمثله الفئة.

يقدم مقتطف الرمز التالي مثالاً على طريقة عرض:

Kotlin

@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?
)

Java

@DatabaseView("SELECT user.id, user.name, user.departmentId," +
              "department.name AS departmentName FROM user " +
              "INNER JOIN department ON user.departmentId = department.id")
public class UserDetail {
    public long id;
    public String name;
    public long departmentId;
    public String departmentName;
}

ربط طريقة عرض بقاعدة البيانات

لتضمين طريقة العرض هذه كجزء من قاعدة بيانات التطبيق، عليك تضمين views في تطبيقك تعليق توضيحي لـ @Database:

Kotlin

@Database(entities = [User::class],
          views =[UserDetail::class], version = 1)
abstract class AppDatabase : RoomDatabase() {
    abstract fun userDao(): UserDao
}

Java

@Database(entities = {User.class}, views = {UserDetail.class},
          version = 1)
public abstract class AppDatabase extends RoomDatabase {
    public abstract UserDao userDao();
}