Я использую Grails и весьма удивлен тем, как работают hasMany
отношения.У меня типичные отношения hasMany
, когда родительский идентификатор находится в дочерней таблице.Когда я вставляю дочерний элемент и пытаюсь сохранить его через родительский объект, идентификатор версии родительского объекта увеличивается.У меня вопрос: почему идентификатор родительской версии должен меняться, когда есть изменения только в дочернем объекте?
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?
Из-за изменения идентификатора версии родителя я получаю исключение устаревшего объекта.Любая помощь?