" belongsTo"之间有什么区别吗?约束,只是Grails中的一个字段?

时间:2015-12-08 07:33:55

标签: grails gorm grails-3.0

我创建了Child域名,并为其制作了2个父母。一个父母我宣称是一个领域。我在belongsTo约束的帮助下宣布了另一位父母。

打包multipleparentsgrails

class Child {

    Parent2 parent2

    static belongsTo = [parent1: Parent1]

    static constraints = {
    }
}

这些方式之间有什么区别吗?

如何消除差异?我可以同时拥有belongTo和会员吗?我可以添加有成员的级联吗?

2 个答案:

答案 0 :(得分:2)

belongsTo在父母子女关系中扮演重要角色。这里在belongsTo中指定的类是关系的父/所有者。

以下可能是正常的一些比较,并且属于:

  1. belongsTo将引用的类标记为关系的所有者,而has a

  2. 的情况则不然
  3. 您不需要担心与hibernate相关的级联,因为关系会自动处理,即您可以指定级联类型但不需要提供实现,否则在has a的情况下您必须使用GORM DSL喜欢的东西。

  4. 最后但并非最不重要的是,还要强制指定关系所有者,而has a约束是障碍。

  5. 最后但并非最不重要的是,它也可能对gsp脚手架产生影响,但不确定。

    希望它有帮助!

答案 1 :(得分:1)

是的,belongsTo定义了级联。如果删除parent1,那么child也是如此,因为它属于parent1。如果删除了parent2,Grails将不会自动为您删除子项。

所以,在这种情况下,说明一个孩子属于父母不会对儿童友好: - )

您可以通过几种不同的方式定义belongsTo,这允许您在单独的字段上定义或声明新字段。有关详细信息,请参阅Grails文档,它们有很好的使用示例。