JPA Eins-zu-viele löschen und Vorzeichen auf Null setzen

8

Ich verwende Spring Data, JPA, Hibernate und MySQL. Ich habe eine Beziehung zwischen Ereignis und Kategorie. Offensichtlich kann ein Ereignis nur eine Kategorie haben, und einer Kategorie können viele Ereignisse zugewiesen werden. Das Problem tritt auf, wenn ich versuche, die Kategorie zu entfernen. Wenn ein Ereignis einen Fremdschlüssel dieser Kategorie enthält, erhalte ich einen Fehler. Ich möchte den Fremdschlüssel in der Ereignistabelle auf Null festlegen, wenn eine Kategorie gelöscht wird. Im Moment aktualisiere ich alle Events, indem ich den Fremdschlüssel explizit im Code einfüge, indem ich ihn vor dem Löschen der Kategorie auf null aktualisiere. Gibt es eine Möglichkeit, dies mit Anmerkungen zu tun?

Dies ist meine Kategorie:

%Vor%

Und die Event-Klasse:

%Vor%

Ich habe gesehen, dass das Thema viele Male diskutiert wurde, aber ich habe keine Lösung dafür gesehen.

    
Lukasz 01.04.2013, 11:08
quelle

1 Antwort

5

Leider ist es derzeit nicht möglich, JPA / Hibernate-Annotationen zu verwenden. Siehe diese verwandten Fragen:

Lassen Sie JPA / Hibernate replizieren Funktionalität "ON DELETE SET NULL"

Beim Löschen setzen Sie null im Ruhezustand in @OneToMany

    
David Levesque 01.04.2013, 14:55
quelle

Tags und Links