Grails 域类如何级联';全部删除孤立';对一个孩子来说,它没有参考?
在Grails中,可以有一个子类:Grails 域类如何级联';全部删除孤立';对一个孩子来说,它没有参考?,grails,gorm,grails-domain-class,all-delete-orphan,Grails,Gorm,Grails Domain Class,All Delete Orphan,在Grails中,可以有一个子类: class Child { Father father static belongsTo = [Father, Mother] } 有两个父类 class Mother{ } class Father { } 如果我father.delete(),Grails就会抛出一个数据库错误,说明father无法删除,因为子仍然存在 如果父亲类没有直接引用孩子类,我如何级联全部删除孤儿孩子 我无法使所需的仅部分工作,但这对我来说很有用: cla
class Child {
Father father
static belongsTo = [Father, Mother]
}
有两个父类
class Mother{
}
class Father {
}
如果我father.delete()
,Grails就会抛出一个数据库错误,说明father
无法删除,因为子
仍然存在
如果
父亲
类没有直接引用孩子
类,我如何级联全部删除孤儿
孩子
我无法使所需的仅部分工作,但这对我来说很有用:
class Father {
static hasMany = [children: Child]
}
class Child {
static belongsTo = [father: Father]
}
void testDeleteItg() {
def father = new Father().save()
def child = new Child()
father.addToChildren child
child.save()
def childId = child.id
father.delete(flush:true)
assertNull(Child.get(childId))
}
使用hasMany使其具有双向性
class Mother{
static hasMany = Child
}
class Father{
static hasMany = Child
}
这样做会使级联工作正常,这样当您删除父对象之一时,子对象也会被删除 如果孩子因为我试图避免而被删除,这会删除父亲吗?不会,因为父亲对孩子是一对多的关系,删除孩子不会删除父亲。感谢您所做的一切,我遇到的一个问题是如何使用hasMany映射参数执行此操作。如果孩子同时属于父亲和母亲,并且如果父亲被删除,是否有方法防止孩子被删除?是否将
static hasMany=child
替代statichasMany=[children:Child]
?