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

يوفّر الإصدار 2.1.0 والإصدارات الأحدث من مكتبة استمرارية الغرفة دعمًا لطرق عرض قاعدة بيانات SQLite، ما يسمح لك بتضمين طلب بحث في فئة. تشير غرفة Room إلى هذه الفئات المستندة إلى طلبات البحث على أنّها طرق عرض، وهي تتصرف بالطريقة نفسها التي تتّبعها كائنات البيانات البسيطة عند استخدامها في 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();
}