मैं का उपयोग कर कमरे में कई रिश्ते के लिए एक जोड़ दिया है रिलेशन । मैंने इस पोस्ट को रूम में संबंध के लिए निम्नलिखित कोड लिखने के लिए संदर्भित किया है ।
पोस्ट बताता है कि डेटाबेस से मूल्यों को कैसे पढ़ा जाए लेकिन डेटाबेस में संस्थाओं को संग्रहीत करने के परिणामस्वरूप 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) उपयोगकर्ता के साथ POJO:
// 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;
}
अब DB से रिकॉर्ड प्राप्त करने के लिए हम निम्नलिखित का उपयोग करते हैं DAO
:
@Dao
public interface UserDao {
@Insert
fun insertUser(user: User)
@Query("SELECT * FROM User")
public List<UserWithPets> loadUsersWithPets();
}
संपादित करें
मैंने यह मुद्दा https://issuetracker.google.com/issues/62848977 समस्या ट्रैकर पर बनाया है । उम्मीद है कि वे इसके संबंध में कुछ करेंगे।