我有这个带有注释的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。
如果我删除其中一个将 prodottoDiRiferimento 属性设置为 null 并且其他 bean 具有 prodottoDiRiferimento 属性的 bean,我会得到:
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 属性的 bean 也将被删除。
怎么做?