我创建了Child
域,并为其创建了两个父域。其中一个父域声明为字段。以及我在belongsTo
约束的帮助下声明的另一个父级。
包多路传输轨道
class Child {
Parent2 parent2
static belongsTo = [parent1: Parent1]
static constraints = {
}
}
这两种方式有区别吗?
如何消除差异?我可以同时拥有belongTo
和一名会员吗?我可以添加具有成员的级联吗?
belongsTo在父子关系中扮演着重要角色。这里,belongsTo中指定的类是关系的父级/所有者。
以下可能是一些比较在正常情况下有一个和属于:
-
belongsTo将引用的类标记为关系的所有者,而在
has a
的情况下则不是这样 -
您不需要担心与hibernate相关的级联,因为关系会自动处理,即您可以指定级联类型,但不需要给出实现,否则在
has a
的情况下,您必须使用类似GORM DSL的东西。 -
最后但同样重要的是,belongsTo还强制指定关系所有者,而在
has a
约束的情况下,这是障碍。
最后但并非最不重要的是,它可能也会对gsp脚手架产生影响,但不确定
希望有帮助!
是的,belongsTo定义级联。如果parent1被删除,则child也被删除,因为它属于parent1。如果parent2被删除,Grails不会自动为您删除子项。
因此,在这种情况下,声明孩子属于父母对孩子来说不是很友好:-)
您可以用几种不同的方式定义belongsTo,这允许您在单独的字段上定义它或声明新的字段。有关更多详细信息,请参阅Grails文档,它们有很好的使用示例。