0

我有一堂课Contact和一堂课PhoneNumber。在PhoneNumber课堂上,我有以下属性:

@DatabaseField(foreign = true, columnName = "contact_id")
private Contact mContact;

课堂上是这样的contact_idContact

@DatabaseField(id = true, columnName = "contact_id", allowGeneratedIdInsert = false)
private Integer m_id;

当我尝试向PhoneNumber数据库中插入具有相同contact_id值的新值时,它总是返回constraint_failed错误。

它应该发生吗?我不能用相同的外键插入多行吗?我该如何解决?

4

1 回答 1

0

这应该发生。您实现了一对一的关系,但您需要一对多。在您的班级中,您有一个电话号码联系人,但 db 为一个电话号码存储了多个联系人。这是没有意义的。因此,您应该使用列表联系人,而不是联系人联系人。然后插入具有相同 id 的多个联系人将起作用。

于 2013-02-25T15:07:47.803 回答