ডেটাবেসে ভিউ তৈরি করা

রুম পারসিসটেন্স লাইব্রেরি 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?
)

আপনার ডেটাবেসের সাথে একটি ভিউ অ্যাসোসিয়েট করা

আপনার ডেটাবেসে এই ভিউ অন্তর্ভুক্ত করতে, আপনার অ্যাপের @Database অ্যানোটেশনে views প্রপার্টি যোগ করুন:

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