Я застрял в этой проблеме. Код выглядит нормально для меня (очевидно, я что-то упускаю. Вопрос в том, что это?)
У меня есть проект класса
def class project{
...
Manager manager
}
Это определение класса Person и Manager
def class Person{
String firstName
String lastName
}
def class Manager extends Person{
static hasMany = [ projects: Project]
}
Отношения просты - у Проекта есть один менеджер, а у менеджера много проектов. Насколько я знаю, в отношениях «один ко многим» каскады спасения касаются, потому что это двунаправленное отношение «один ко многим». Но когда я делаю это
Project project = new Project()
Manager mgr = new Manager(...)
project.manager = mgr
project.save()
Я получаю следующую ошибку
Вызывается: org.hibernate.TransientObjectException: объект ссылается на несохраненный временный экземпляр - сохраните этот временный экземпляр перед сбросом: Manager
и когда я делаю это
Project project = new Project()
Manager mgr = new Manager(...)
project.manager = mgr
project?.manager.save()
project.save()
Работает просто отлично. Но я думаю, что проект? .Manger.save () не должен быть обязательным !!