我过去一直在为大多数项目使用SugarDB.它很容易使用并且满足了我的大多数要求,但由于该项目已被放弃,因此决定寻找替代方案,而房间似乎是最佳选择.
然而,一些基本的东西在Room中相当混乱. My Object使用Gson填充来自Web服务的数据,例如链接到其他对象.例如,请考虑以下类:
@Entitypublic class TestModel{ @PrimaryKey(autoGenerate = true) private int ID; private String name; private String age; private List<Book> issuedBooks;}public class Book{ private String Title; private int ISBN;}
现在,如果我的第一个类被注释为实体,那么这会自动将其中引用的类视为实体吗?
如果我保存TestModel的对象,它会将带有它的Books列表保存到数据库中吗?
解决方法:
我想你可以这样做.
@Entitypublic class TestModel { @PrimaryKey public int ID; // TestModel ID public String name; public String age;}@Entitypublic class Book { @PrimaryKey public int ID; // Book ID public int testModelID; // TestModel ID public String Title; public int ISBN;}public class TestModelWithBooks { @Embedded public TestModel testModel; @Relation(parentColumn = "ID", entityColumn = "testModelID", entity = Book.class) public List<Book> books;}
对于他们的Dao,你可以这样写.
@Daopublic interface TestModelDao { @query("SELECT * FROM TestModel") public List<TestModelWithBooks> loadTestModelsWithBooks();}
总结 以上是内存溢出为你收集整理的android – Room中的一对多关系全部内容,希望文章能够帮你解决android – Room中的一对多关系所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)