如何使用另一个域类的两个实例映射域类

时间:2014-06-02 19:41:45

标签: grails gorm hibernate-mapping grails-2.0 grails-domain-class

我有两个域类,如下所示。顶级类Client包含三个对Address类的引用。这是一种1..3的关系。我希望在保存客户端时通过级联保存地址对象。映射这种关系的正确方法是什么?

class Client {

    Address primaryAddress
    Address billingAddress
    Address shippingAddress

    static hasOne = [primaryAddress: Address, billingAddress: Address, shippingAddress: Address]

}


class Address {

    String addressLine1
    String addressLine2
    String addressLine3

}

1 个答案:

答案 0 :(得分:1)

hasOne将引用从子映射到父(docs)。因此,在您的情况下,这意味着每个Address会存储对Client的引用,而不是存储对Address的三个引用的Clients。从问题的声音来看,这不是你想要的,所以你可以删除整个hasOne映射并坚持使用简单的引用。