Метод save () из хранилища Spring Crud выполняет операцию вставки, если идентификатор равен нулю, в противном случае он выполняет операцию обновления.У меня есть следующие компоненты Entity Beans -
Student {
@Id integer studentId;
....
@OneToMany Set<Project> projects;
@OneToMany Set<Subject> subjects;
}
Project {
@Id integer projectId;
....
@ManyToOne Student student;
}
Subject {
@Id integer subjectId;
....
@ManyToOne Student student;
}
Если я использую репозиторий Spring Crud для выполнения операции save () в одном экземпляре Project p, он пытается выполнить вставку для всех субъектов, которые уже есть у p.studentбыли связаны.И в результате я получаю ошибку нарушения ограничения первичного ключа.
Spring jpa должен вставлять только проект, а не все дерево Student и его набор предметов.
Есть ли способсделать это?