【发布时间】:2011-11-02 23:18:28
【问题描述】:
我想要做的是有两个相互引用的域。然而,一个人不一定拥有另一个人或属于另一个人。两个域中的每个对象都可以引用另一个域中的 0 个或 1 个对象。
我有这段代码,但它不起作用:
class Domain1{
//declare some vars
...
static belongsTo = [domain2Object:Domain2]
static constraints = {
domain2Object(nullable:true)
}
}
将 hasOne 与 nullable:true 约束一起使用是有效的,但如果另一方有相同的东西,它就不起作用。关键是我希望能够从引用另一个域的对象的任何域中删除任何对象,而不会导致被引用的对象也被删除。所以就像我说的,没有对象属于另一个对象,它们只是相互引用。
================================================ =========================================== 回应:
在两个域类中使用它:
class ClassB {
static hasOne = [classA:ClassA]
def beforeDelete = {
classA?.delete()
}
}
static constraints = {
classA(nullable:true)
}
当我尝试添加两个类中的任何一个的对象时,将另一个类留空时出现此错误:
“违反完整性约束 - 没有父 FK24742AC1AA048190 表:PENDINGORDER”
【问题讨论】:
标签: grails