2017-09-01 103 views
0

我有2個域名classess; A和BGrails:如何使外鍵成爲主鍵

class A { 

    Long a_id 

    static constraints = { 
    } 

    static mapping = { 
     id name:'a_id' 
    } 
} 

Class B { 

    A a 

    static constraints = { 
    } 

    static mapping = { 
     id name:'a', generator: 'assigned' 
    } 

} 

在域B中,我想使「A」作爲主鍵,也可以作爲外鍵(引用到A.a_id)

上面的代碼不工作。請幫幫我。

+0

我可能是錯的,但你可以嘗試添加你的域名B'belongsTo = [a:A]' – fsi

回答

0

您可以使主鍵始終與外鍵相同。並將外鍵指向主鍵。

Class B { 

    A a 



    static mapping = { 
     id generator:'foreign', params:[property:'a'] 
     a insertable: false, updateable: false , column:'id' 
    } 

}