ฉันได้เพิ่มอีกหนึ่งความสัมพันธ์จำนวนมากในห้องพักโดยใช้ความสัมพันธ์ ฉันอ้างถึงโพสต์นี้เพื่อเขียนโค้ดต่อไปนี้สำหรับความสัมพันธ์ในห้อง
โพสต์จะบอกวิธีอ่านค่าจากฐานข้อมูล แต่การจัดเก็บเอนทิตีลงในฐานข้อมูลทำให้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) UserWithPets 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บนเครื่องมือติดตามปัญหา หวังว่าพวกเขาจะทำบางอย่างเกี่ยวกับเรื่องนี้