我正在使用Grails,我很惊讶hasMany
关系的工作方式。我有一个典型的hasMany
关系,父ID在子表中。当我插入一个子并尝试通过父对象保存它时,父对象的版本ID会增加。我的问题是:当仅在子对象中发生更改时,为什么父级的版本ID会发生变化?
class Parent {
static hasMany = [children: child]
}
class child {
string name
Parent parent
static belongsTo = [Parent]
}
def p = Parent.get(1)
p.addToChildren(new Child(name: "Roy"))
p.save()
p
的版本从0增加到1.我有什么办法可以在Grails中避免这种情况吗?
由于父版本ID的更改,我得到了陈旧的对象异常。有什么帮助吗?