Wie zu verwenden cascade Typ speichern,löschen, aktualisieren, in der hibernate-annotation
Kann einer mir erklären der hibernate-annotation Verwendung von verschiedenen Arten von cascade löschen,upadte,save-update?
Wie kann ich sicherstellen, dass, wenn ein Eigentümer gelöscht wird, sein Auto ist auch gelöscht (aber nicht Umgekehrt)
@Entity
public class Owner
{
@OneToOne(cascade=CascadeType.ALL)
private DrivingLicense license;
@OneToMany(mappedBy="owner", cascade={CascadeType.PERSIST, CascadeType.MERGE})
private Collection cars;
...
}
@Entity
public class DrivingLicense
{
private String serialNumber;
...
}
@Entity
public class Car
{
private String registrationNumber;
@ManyToOne(cascade={CascadeType.PERSIST, CascadeType.MERGE})
private Owner owner;
...
}
Mai wissen, warum die u-Jungs sind nach unten gestimmt, um meine quetion? Ich habe viel gesucht um die Antwort zu finden für diese in google, aber ich dint verstehen, wie
ich habe gelesen, dass man, dass alle da sind, in die xml-Zuordnung nicht in Anmerkungen, wenn u mir den link schicken, das wäre toll.
Dieser ist gut: datanucleus.org/products/datanucleus/jpa/orm/cascading.html
"Nicht verstehen" ist zu breit, ein problem. Um eine gute Antwort, die Frage gerichtet werden muss. Wenn Sie gefunden haben, einen bestimmten Teil, die Sie nicht verstehen, Fragen, die sehr Teil, perferably mit einem code Beispiel. Wenn Sie nicht verstanden haben das tutorial im Prinzip, StackOverflow wird nicht viel helfen - Sie müssen einen Schritt zurückgehen und wiederholen Sie das einleitende material.
Ich verstehe wenig von deinem link habe ich Zweifel, dass, wenn ich lösche den Besitzer, die ich löschen möchte, Auto auch aber wenn löschen Auto, das ich nicht wollen, zu löschen, Besitzer u zu tun.
ich habe gelesen, dass man, dass alle da sind, in die xml-Zuordnung nicht in Anmerkungen, wenn u mir den link schicken, das wäre toll.
Dieser ist gut: datanucleus.org/products/datanucleus/jpa/orm/cascading.html
"Nicht verstehen" ist zu breit, ein problem. Um eine gute Antwort, die Frage gerichtet werden muss. Wenn Sie gefunden haben, einen bestimmten Teil, die Sie nicht verstehen, Fragen, die sehr Teil, perferably mit einem code Beispiel. Wenn Sie nicht verstanden haben das tutorial im Prinzip, StackOverflow wird nicht viel helfen - Sie müssen einen Schritt zurückgehen und wiederholen Sie das einleitende material.
Ich verstehe wenig von deinem link habe ich Zweifel, dass, wenn ich lösche den Besitzer, die ich löschen möchte, Auto auch aber wenn löschen Auto, das ich nicht wollen, zu löschen, Besitzer u zu tun.
InformationsquelleAutor user3214269 | 2014-01-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Falle hier ist, dass es zwei CascadeType enums. Man ist von javax.Persistenz, die andere ist aus dem Ruhezustand. Im Allgemeinen würde ich lieber auf Ausdauer.
Für update cascade, im Hinterkopf behalten, dass "update" ist ein hibernate-Begriff und jpa dies nicht weiß. Jpa doesnt es brauchen, weil in JPA die Idee ist, dass die aktualisierten Felder werden bündig in die Datenbank automatisch. Wenn Sie änderungen in den Beziehungen, die Spülung als auch. So brauchen Sie nicht, ein cascade on update.
Für save-update, dies ist ein hibernate-Verknüpfung, um entweder anhalten oder aktualisieren, je nach dem Zustand des Objekts. Da hast du schon abdecken, beibehalten und aktualisieren(siehe oben), brauchen Sie nicht eine Kaskade auf.
Kaskade eine löschen, die Sie wahrscheinlich verwenden wollen
@OrphanRemoval
statt. Dies wird sicherstellen, dass, wenn das übergeordnete Element einer relation entfernt, das Kind auch Weg ist (aber nicht Umgekehrt).dieses ist aus Ihren eigenen code... siehe stackoverflow.com/questions/11938253/jpa-joincolumn-vs-mappedby
InformationsquelleAutor Joeri Hendrickx