У меня есть OneToMany отношения следующим образом:«ConstraintViolationException: Невозможно удалить или обновить родительскую строку» выброшены с @OneToMany отношений
@Entity
public class Curriculum {
@OneToMany(cascade = CascadeType.ALL)
private Set<WorkExperience> workExperiences;
...
Вот WorkExperience сущность:
@Entity
public class WorkExperience {
...
Когда я пытаюсь для удаления WorkExperience следующим образом:
@Override
public void deleteWorkExperience(long workExperienceId) {
workExperienceRepository.delete(workExperienceId);
}
Я получаю следующее исключение:
org.hibernate.exception.ConstraintViolationException: Cannot delete or update a parent row: a foreign key constraint fails (`bignibou`.`curriculum_work_experiences`, CONSTRAINT `FKFA6D4B9F8B68AA0C` FOREIGN KEY (`work_experiences`) REFERENCES `work_experience` (`id`))
Мои вопросы заключаются в следующем:
- Если я хочу, чтобы сохранить таблицу присоединиться т.е.
curriculum_work_experiences
, как я могу правильно удалить WorkExperience? - Я заметил, что вручную установив для FK
on cascade delete
в MySql, она работала должным образом, но я не уверен, что это JPA аннотации необходимо добиться того, что я сделал вручную ...
Проверить аналогичный вопрос был дан ответ здесь: [Невозможно удалить или обновить родительскую строку ConstraintViolationException] (http://stackoverflow.com/questions/40641181/cannot-delete-or-update-a-parent- row-constraintviolationexception/40645955 # 40645955) –