Я пытаюсь создать два домена, которые ссылаются друг на друга. Однако одно не обязательно имеет другое или принадлежит другому. Каждый объект из обоих доменов может ссылаться на 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»