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