"belongsTo"约束和仅仅成为Grails中的一个字段之间有什么区别吗?



我创建了Child域,并为其创建了两个父域。其中一个父域声明为字段。以及我在belongsTo约束的帮助下声明的另一个父级。

包多路传输轨道

class Child {
    Parent2 parent2
    static belongsTo = [parent1: Parent1]
    static constraints = {
    }
}

这两种方式有区别吗?

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

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

以下可能是一些比较在正常情况下有一个和属于:

  1. belongsTo将引用的类标记为关系的所有者,而在has a 的情况下则不是这样

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

  3. 最后但同样重要的是,belongsTo还强制指定关系所有者,而在has a约束的情况下,这是障碍。

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

希望有帮助!

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

因此,在这种情况下,声明孩子属于父母对孩子来说不是很友好:-)

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

相关内容

最新更新