Я хотел бы знать, возможно ли удалить родительские объекты в двунаправленной ассоциации 1: N без каскадного удаления. Согласно
http://grails.org/doc/1.0.x/guide/5.%20Object%20Relational%20Mapping%20%28GORM%29.html
... в однонаправленных отношениях родительский конец отображается с помощью «save-update», а дочерний - с «none». Я пробовал эти настройки для двунаправленных отношений, но неудивительно, что они не сработали. В частности:
class Personnel {
...
}
static hasMany = [projectlead:Project, projectmanager:Project]
static mappedBy = [projectlead:'leaddeveloper', projectmanager:'projectmanager']
static mapping = {
projectlead cascade:'save-update'
projectmanager cascade:'save-update'
}
А вот класс проекта:
class Project {
...
}
static belongsTo = [leaddeveloper:Personnel, projectmanager:Personnel]
static mapping = {
leaddeveloper cascade:'none'
projectmanager cascade:'none'
}
Я бы предпочел не перепроектировать свое приложение (удалив «ownTo» из класса Project), если есть решение этого: навигационный доступ с обоих концов очень удобен, и у меня не слишком много экземпляров на окончание проекта.
Кроме того, если есть способ реализовать это, было бы интересно узнать, что происходит с этими активными отображениями впоследствии, могу ли я установить для них (или они будут установлены) значение "ноль", например?
Ценю любые материалы по этому вопросу.