Hibernate: Cannot delete or update a parent row: a foreign key constraint fails

Es kommt beim löschen eines BEs mit Hibernate zu folgenden Error:

Cannot delete or update a parent row: a foreign key constraint fails„.

Im BE gibt es mehrere OneToMany Verbindungen wie z.B. diese

Hibernate: Cannot delete or update a parent row: a foreign key constraint fails

@OneToMany(mappedBy = "arzt", 
fetch = FetchType.LAZY, 
cascade = { CascadeType.PERSIST, CascadeType.MERGE})
private Set<Fachbereich> fachbereiche = new HashSet<>();

Wie kann nun ein kaskadierendes Löschen des BEs bewirkt werden?

Ein CascadeType.REMOVE in der Aufzählung ergänzen, so:

@OneToMany(mappedBy = "arzt", 
fetch = FetchType.LAZY, 
cascade = { CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REMOVE})
private Set<Fachbereich> fachbereiche = new HashSet<>();

Das löst zwar das Problem mit der Exception, ist aber nicht so performant wie der Artikel „Why you should avoid CascadeType.REMOVE for to-many associations and what to do instead“ zeigt.

Ähnliche Artikel:

  1. Many to Many mit Java Persistence API (JPA 2.0) und Spring Boot ohne XML
  2. One to One mit Java Persistence API (JPA 2.0) und Spring Boot ohne XML
  3. Wie kann Boilerplate Code in Java reduziert werden?

wallpaper-1019588
Cultural Fit – stimmt die Chemie?
wallpaper-1019588
NEWS: Conchita Wurst veröffentlicht neues Video “See Me Now”
wallpaper-1019588
Aldi Filiale Nr.9 bald in Cala Millor?
wallpaper-1019588
Maitrunk von Hildegard von Bingen – Wermut-Elexier
wallpaper-1019588
Sprungschanze Gottes
wallpaper-1019588
Gedankenpost – Ganz ehrlich? Scheiß drauf!
wallpaper-1019588
Birnen-Scheiterhaufen
wallpaper-1019588
Im Test: BIO MACHT’S Proteinpulver von DIE PROTEINMACHER