11 Stimmen

Eine Frage zu JPA Cascade und dem Entfernen von Entitäten

Ich habe zwei Entitäten namens User und UserProfile in meinem Datenmodell. So werden sie abgebildet.

Code von der Benutzerentität:

@OneToOne(cascade=CascadeType.ALL)
@PrimaryKeyJoinColumn
public UserProfile getUserProfile(){
    return this.userProfile;
}

public void setUserProfile(UserProfile userProfile){
    this.userProfile=userProfile;
}

Code von UserProfile Entity:

@OneToOne(mappedBy="userProfile",cascade=CascadeType.ALL)
public User getUser(){
    return this.user;
}

public void setUser(User user){
    this.user=user;
}

Wie Sie sehen, habe ich eine CascadeType.ALL für das Benutzerattribut in UserProfile. Aber wenn ich versuche, die UserProfile-Entität zu löschen, bleibt die entsprechende User-Entität erhalten. (Wenn ich versuche, die Entität User zu löschen, wird die entsprechende Entität UserProfile gelöscht).

Hier ist meine Frage:-

  • Gelten Kaskaden nur, wenn ich sie für die Entität, die die Beziehung besitzt, festlege?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X