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

রুম পারসিসটেন্স লাইব্রেরির সংস্করণ 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();
}