Ich habe zwei Klassen, sagen Gruppe und Person mit einer ManyToMany-Relation, die in einer JoinTable zugeordnet ist.JPA/Hibernate: ManyToMany löschen Relation
Wenn ich eine Person lösche, die eine Beziehung zu einer Gruppe hat, möchte ich den Eintrag aus der Join-Tabelle löschen (nicht die Gruppe selbst löschen!).
Wie muss ich die Kaskaden-Annotationen definieren? Ich habe nicht wirklich hilfreich Dokumentation aber mehrere ungelöste Board Diskussionen ...
public class Group {
@ManyToMany(
cascade = { javax.persistence.CascadeType.? },
fetch = FetchType.EAGER)
@Cascade({CascadeType.?})
@JoinTable(name = "PERSON_GROUP",
joinColumns = { @JoinColumn(name = "GROUP_ID") },
inverseJoinColumns = { @JoinColumn(name = "PERSON_ID") })
private List<Person> persons;
}
public class Person {
@ManyToMany(
cascade = { javax.persistence.CascadeType.? },
fetch = FetchType.EAGER,
mappedBy = "persons",
targetEntity = Group.class)
@Cascade({CascadeType.?})
private List<Group> group;
}
Ich möchte die Zuordnung automatisch löschen, wenn Sie ein Personenobjekt löschen. Meine Absicht ist, dies nicht manuell tun zu müssen. Wenn ich muss, brauche ich keine Kaskadierung. Oder habe ich die Cascading-Funktion falsch verstanden? – tautologe
Sie müssen. Kaskadierung macht das nicht. –