G
Gaaast
Gast
Hallo,
ich habe mit Hibernate folgendes gemapped:
Eine User Tabelle
Eine Auftrags Tabelle
Jeden User gibt es einmal, der kann aber x beliebig viele Aufträge haben (also eine 1:m Beziehung).
In der User-Entity die ich in Java angelegt habe gibt es keinen Eintrag für die Aufträge, da ich von dieser Seite nie darauf zugreife.
In den Auftrag-Entity ist ein
Wenn ein Auftrag gelöscht wird, soll der User unverändert bleiben.
Wenn ein User gelöscht wird sollen aber alle Aufträge mitgelöscht werden.
Mit einem cascade = CascadeType.ALL in der ManyToOne Beziehung in Auftragsseite kann ich es machen, dass der Nutzer mitgelöscht wird, wenn der Auftrag gelöscht wird. Das will ich nicht, ich will es genau anders rum. Aber in der Nutzer-Tabelle habe ich keine Beziehung angegeben, in der ich es angeben kann.
Gibt es eine Möglichkeit eine Cascade für die Aufträge in der User-Entity anzugeben, ohne sie zusätzlich dort zu speichern (das würde nur die Create Auftrag Methode unnötig verkomplizieren, da ich dort ja dann auch immer den Auftrag bei Nutzer eintragen muss).
Hoffe ihr habt mein Anliegen verstanden.
Danke
ich habe mit Hibernate folgendes gemapped:
Eine User Tabelle
Eine Auftrags Tabelle
Jeden User gibt es einmal, der kann aber x beliebig viele Aufträge haben (also eine 1:m Beziehung).
In der User-Entity die ich in Java angelegt habe gibt es keinen Eintrag für die Aufträge, da ich von dieser Seite nie darauf zugreife.
In den Auftrag-Entity ist ein
Java:
@ManyToOne(optional = true)
public User getUser()
{
return user;
}
Wenn ein Auftrag gelöscht wird, soll der User unverändert bleiben.
Wenn ein User gelöscht wird sollen aber alle Aufträge mitgelöscht werden.
Mit einem cascade = CascadeType.ALL in der ManyToOne Beziehung in Auftragsseite kann ich es machen, dass der Nutzer mitgelöscht wird, wenn der Auftrag gelöscht wird. Das will ich nicht, ich will es genau anders rum. Aber in der Nutzer-Tabelle habe ich keine Beziehung angegeben, in der ich es angeben kann.
Gibt es eine Möglichkeit eine Cascade für die Aufträge in der User-Entity anzugeben, ohne sie zusätzlich dort zu speichern (das würde nur die Create Auftrag Methode unnötig verkomplizieren, da ich dort ja dann auch immer den Auftrag bei Nutzer eintragen muss).
Hoffe ihr habt mein Anliegen verstanden.
Danke