У меня есть этот bean-компонент с аннотациями (с указанием соответствующих):
@Entity
@Table(name = "Prodotti")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
public class Prodotto {
int id;
String codice;
double prezzo;
double prezzoCanone;
String descrizione;
String note;
Prodotto prodottoDiRiferimento;
...
@ManyToOne(cascade = CascadeType.REMOVE)
public Prodotto getProdottoDiRiferimento() {
return prodottoDiRiferimento;
}
public void setProdottoDiRiferimento(Prodotto prodottoDiRiferimento) {
this.prodottoDiRiferimento = prodottoDiRiferimento;
}
}
все они сопоставлены с mySQL.
Если я выполню удаление одного из этих bean-компонентов, у которого свойство prodottoDiRiferimento имеет значение null, а другие bean-компоненты имеют то же самое, что и prodottoDiRiferimento, я получу:
java.sql.BatchUpdateException: Cannot delete or update a parent row: a foreign key constraint fails (`jacciseweb`.`prodotti`, CONSTRAINT `FKC803BB11ACD3B812` FOREIGN KEY (`prodottoDiRiferimento_ID`) REFERENCES `prodotti` (`ID`))
Что мне нужнозаключается в том, что все компоненты, указывающие на удаленный объект со свойством prodottoDiRiferimento, также будут удалены.
Как это сделать?