डेटाबेस में व्यू बनाना

रूम परसिस्टेंस लाइब्रेरी SQLite डेटाबेस के लिए काम करती है व्यू मिले, ताकि का इस्तेमाल, क्वेरी को क्लास में इनकैप्सुलेट करने के लिए किया जाता है. रूम का मतलब क्वेरी पर आधारित इन क्लास से है व्यू के तौर पर काम करते हैं और वे डीएओ.

व्यू बनाएं

व्यू बनाने के लिए, @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();
}