grails hasOne 但不属于

grails hasOne but does not belong to

我正在做一个项目并且有一个 Invoice 域 class 当前 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 您将在 [=15] 中得到一个 billing_address_id 列=] table,而 hasOne 关联由 address table 中的外键表示 - 这种表示只允许每个 Invoice Address,这就是为什么关联必须是双向的。