我正在一个项目上,并且有一个Invoice域类,当前是hasOne=[billingAddress:Address]。当我尝试启动服务器时,出现以下错误:

hasOne property [Invoice.billingAddress] is not bidirectional. Specify the other side of the relationship!

我不想分配关系的另一端...发票有帐单地址,但地址不属于发票。地址属于用户!!!

处理这种情况的正确方法是什么?

最佳答案

听起来您只需要一个普通的关联而不是hasOne:

class Invoice {
  // other properties

  Address billingAddress
}
hasOne机制是一种更改关联的数据库表示形式的方法,使用传统的Address billingAddress您将在billing_address_id表中最终显示invoice列,而使用hasOne时,该关联由address表中的外键表示-此表示形式只允许每个Invoice一个Address,这就是为什么关联必须是双向的。

10-06 03:49