У меня есть вопрос и ответ. Вопрос имеет 0-n ответов, а ответ всегда содержит 1 вопрос. Если я удалю вопрос, то все связанные ответы также должны быть удалены. Если я удалю ответ, то вопрос не должен быть удален. Как я могу добиться этого с помощью JPA?
Сущность вопроса:
@Getter @Setter
@OneToMany(mappedBy = "question", cascade = CascadeType.REMOVE)
private List<AnswerEntity> answers = new ArrayList<>();
Сущность ответа:
@Getter @Setter
@ManyToOne
@JoinColumn(name = "question")
private QuestionEntity question;
Теперь, когда я удаляю вопрос, я получаю сообщение об ошибке:
com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Невозможно удалить или обновить родительскую строку: ограничение внешнего ключа не выполняется (myApp
. answer
, CONSTRAINT FK_ANSWER_question
FOREIGN KEY (craftsman
) ССЫЛКИ question
(ID
))