রিলেশন ব্যবহার করে রুমে আমি বহু সম্পর্কের সাথে একটি যুক্ত করেছি । রুমে সম্পর্কের জন্য নিম্নলিখিত কোডটি লিখতে আমি এই পোস্টটি উল্লেখ করেছি ।
পোস্টটি কীভাবে ডাটাবেস থেকে মানগুলি পড়তে পারে তা সত্ত্বেও ডাটাবেসগুলিতে সত্তাগুলি সংরক্ষণ করার ফলে userId
খালি হয়ে যায় যার অর্থ 2 টেবিলের মধ্যে কোনও সম্পর্ক নেই।
আমি নিশ্চিত নই যে মান থাকার সময় insert
একটি User
এবং List of Pet
ডাটাবেসে প্রবেশের আদর্শ উপায় কী userId
।
1) ব্যবহারকারী সত্ত্বা:
@Entity
public class User {
@PrimaryKey
public int id; // User id
}
2) পোষা সত্তা:
@Entity
public class Pet {
@PrimaryKey
public int id; // Pet id
public int userId; // User id
public String name;
}
3) ব্যবহারকারীর উইথপেটস পোজো:
// Note: No annotation required at this class definition.
public class UserWithPets {
@Embedded
public User user;
@Relation(parentColumn = "id", entityColumn = "userId", entity = Pet.class)
public List<Pet> pets;
}
এখন ডিবি থেকে রেকর্ডগুলি আনতে আমরা নিম্নলিখিতটি ব্যবহার করি DAO
:
@Dao
public interface UserDao {
@Insert
fun insertUser(user: User)
@Query("SELECT * FROM User")
public List<UserWithPets> loadUsersWithPets();
}
সম্পাদনা
আমি ইস্যু ট্র্যাকারটিতে এই সমস্যাটি https://issuetracker.google.com/issues/62848977 তৈরি করেছি । আশা করি তারা এ বিষয়ে কিছু করবেন।