如何在greenDAO中设置一对多的关系?
Posted
技术标签:
【中文标题】如何在greenDAO中设置一对多的关系?【英文标题】:How to set a one-to-many relationship in greenDAO? 【发布时间】:2020-11-02 04:11:38 【问题描述】:希望你有一个美好的一天。
我是 greenDAO 的新手,想知道如何在 android 应用程序中使用 greenDAO 对一对多关系进行建模,以便我可以检索属于 User 实体的 TestResult 实体列表。按照this 文档,我在User 实体类中使用了@ToMany 注释,在TestResult 中使用了@ToOne。但是,即使在使用 User 属性集持久化 TestResult 实体对象之后,检索相同的 User 也会导致其 TestResult 实体对象列表出现 null 错误。
如果你们能提供一些帮助,我将不胜感激。 谢谢。
【问题讨论】:
【参考方案1】:@Entity
public class Customer
@Id private Long id;
@ToMany(referencedJoinProperty = "customerId")
@OrderBy("date ASC")
private List<Order> orders;
@Entity
public class Order
@Id private Long id;
private Date date;
private long customerId;
客户和订单是两个实体。一位客户有多个订单。因为这个 customerId 在 order 实体中。
私人长客户ID;
在客户实体中,
@ToMany(referencedJoinProperty = "customerId")
@OrderBy("date ASC")
private List<Order> orders;
参考 for details
【讨论】:
只是为了确认一下,客户和订单在不同的文件中对吧?如果是,那么我做了类似的事情,但例如,当使用 userID 集持久化一些 TestResult 对象时,我无法获得属于用户的 TestResult 实体列表。调试器总是显示客户的 TestResults 列表为空。 是的,两者都是单独的文件。请分享您的代码文件。让我看看 嗨,这里是我的实体类和 MainActivity 文件的链接drive.google.com/file/d/13El3z1b_z1ddfVkRPscl_iMH8pYO1eP9/…drive.google.com/file/d/1Q0q_RU7CfbU4ceGlLpFMviJjgKsiXbQU/…drive.google.com/file/d/1Urvvd1NbRyqRm1oW8hLuso71BSNYAAo4/…以上是关于如何在greenDAO中设置一对多的关系?的主要内容,如果未能解决你的问题,请参考以下文章