2015-12-08 11 views
0

我已經創建了Child域,並且讓它成爲了2個父母。我宣佈爲一個字段的一位家長。另一位家長在belongsTo約束的幫助下宣佈。「belongsTo」constants和Grails中的字段是否有區別?

包multipleparentsgrails

class Child { 

    Parent2 parent2 

    static belongsTo = [parent1: Parent1] 

    static constraints = { 
    } 
} 

是否有這些方面有什麼區別?

如何消除差異?我可以同時擁有belongTo和會員嗎?我可以添加級聯成員嗎?

回答

2

belongsTo在父母子女關係中扮演重要角色。這裏,belongsTo中指定的類是關係的父/所有者。

以下可能是正常的一些比較有一個屬於:

  1. 屬於關聯標記引用類的關係,而同樣的主人是不是真的在has a

  2. 你不要的情況下,不需要擔心與hibernate相關的級聯,因爲關係會自動處理,即您可以指定級聯類型,但不需要實施,否則在has a的情況下您必須使用GORM DSL類似的東西。

  3. 最後但並非最不重要的belongsTo也強制指定關係所有者,而在has a的情況下約束是障礙。

最後但並非最不重要它也可能在gsp scaffolding中有所不同,但也不確定。

希望它有助於!

1

是的,belongsTo定義了級聯。如果parent1被刪除,那麼它也屬於parent1。如果parent2被刪除,Grails將不會自動刪除您的孩子。

因此,在這種情況下,稱孩子屬於關聯家長不會很兒童友好:-)

您可以在幾個不同的方式定義屬於關聯,它允許你定義它在不同的字段或聲明新字段。有關更多詳細信息,請參閱Grails文檔,它們有很好的使用示例。

相關問題