smirk_mirkin
Benutzer
- Beiträge
- 14
Hallo,
ich möchte mit Hibernate einen Baum in eine Tabelle speichern.
Genutzt wird dazu eine Spalte parent, die den Vaterknoten speichert.
Hier das CREATE-Statement:
Nun darf wegen dem unique constraint kein parent null sein, was aber bei der Wurzel der Fall ist. Erschwerend kommt hinzu, dass Hibernate automatisch aus parent einen foreign key macht, also kann ich auch nicht einfach irgendeinen parent bei der Wurzel setzen. Das Constraint brauch ich übrigens, da sonst beim zweimaligen Einlesen derselben Daten auch alles zweimal abgespeichert wird.
Wie könnte man das Dilemma am saubersten Lösen bzw. kann man vllt irgendwie Hibernate untersagen, den Fremdschlüssel auf parent zu erstellen?
ich möchte mit Hibernate einen Baum in eine Tabelle speichern.
Genutzt wird dazu eine Spalte parent, die den Vaterknoten speichert.
Hier das CREATE-Statement:
Code:
CREATE TABLE KATEGORIE (
ID INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1 INCREMENT BY 1),
BEZEICHNUNG VARCHAR(100) NOT NULL,
OBERKATEGORIE INTEGER NOT NULL,
INDEX INTEGER,
PRIMARY KEY (ID),
CONSTRAINT uc_KATEGORIE UNIQUE (BEZEICHNUNG, OBERKATEGORIE)
);
Nun darf wegen dem unique constraint kein parent null sein, was aber bei der Wurzel der Fall ist. Erschwerend kommt hinzu, dass Hibernate automatisch aus parent einen foreign key macht, also kann ich auch nicht einfach irgendeinen parent bei der Wurzel setzen. Das Constraint brauch ich übrigens, da sonst beim zweimaligen Einlesen derselben Daten auch alles zweimal abgespeichert wird.
Wie könnte man das Dilemma am saubersten Lösen bzw. kann man vllt irgendwie Hibernate untersagen, den Fremdschlüssel auf parent zu erstellen?