2017-09-01 1 views
0

Ich habe 2 Domain-Klassen; A und B.Grails: Wie man einen Fremdschlüssel als Primärschlüssel macht

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' 
    } 

} 

In Domäne B, ich will ‚a‘ als Primärschlüssel machen und auch als Fremdschlüssel (Referenzierung auf A.a_id)

Der obige Code funktioniert nicht. Bitte hilf mir.

+0

Ich könnte falsch liegen, aber Sie könnten versuchen, in Ihrer Domäne hinzufügen B 'gehört zu = [a: A]' – fsi

Antwort

0

Sie können es so machen, dass der Primärschlüssel immer der gleiche wie der Fremdschlüssel ist. und weisen Sie den Fremdschlüssel dem Primärschlüssel zu.

Class B { 

    A a 



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

} 
Verwandte Themen