2015-07-01 16 views
6

Per creare uno-a-uno in Grails che posso fare:Grails hasOne vs. belongsTo

class Person { 
    static hasOne = [address: Address] 
} 

In questo caso la tabella di indirizzo ha la chiave per la sua persona. Potrei anche fare:

class Address { 
    static belongsTo = [person: Person] 
} 

Questo dà lo stesso risultato.

Qual è la differenza tra i miei due campioni utilizzando hasOne e belongsTo?

risposta

6

hasOne indica che esiste una relazione bidirezionale uno-a-uno in cui la tabella figlio ha la chiave esterna del genitore, come nell'esempio.

belongsTo viene utilizzato per controllare le cascate indicando che la classe appartiene alla classe specificata. Nel tuo esempio, l'eliminazione di un dato Person dovrebbe sovrapporre l'eliminazione a qualsiasi Address associato.

Problemi correlati