2015-12-08 10 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文档,它们有很好的使用示例。

相关问题