রুম পারসিসটেন্স লাইব্রেরির সংস্করণ 2.1.0 এবং উচ্চতর SQLite ডাটাবেস ভিউগুলির জন্য সমর্থন প্রদান করে, যা আপনাকে একটি ক্লাসে একটি কোয়েরি এনক্যাপসুলেট করার অনুমতি দেয়। রুম এই ক্যোয়ারী-ব্যাকড ক্লাসগুলিকে ভিউ হিসাবে উল্লেখ করে এবং 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? )
জাভা
@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; }
আপনার ডাটাবেসের সাথে একটি দৃশ্য সংযুক্ত করুন
আপনার অ্যাপের ডাটাবেসের অংশ হিসেবে এই ভিউ অন্তর্ভুক্ত করতে, আপনার অ্যাপের @Database
টীকাতে views
প্রপার্টি অন্তর্ভুক্ত করুন:
কোটলিন
@Database(entities = [User::class], views =[UserDetail::class], version = 1) abstract class AppDatabase : RoomDatabase() { abstract fun userDao(): UserDao }
জাভা
@Database(entities = {User.class}, views = {UserDetail.class}, version = 1) public abstract class AppDatabase extends RoomDatabase { public abstract UserDao userDao(); }