grails hasOne但不属于

时间:2015-01-22 13:21:17

标签: hibernate grails gorm

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

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

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

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

1 个答案:

答案 0 :(得分:4)

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

class Invoice {
  // other properties

  Address billingAddress
}

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