Hibernate: persistieren eines Graphen

damike84

Neues Mitglied
Hi

Ich habe zwei Entitäten:
Node:
Java:
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
private Set<Edge> edges= new LinkedHashSet<>();

Edge:
Java:
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "fromNodeId")
private Node fromNode;

@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "toNodeId")
private Node toNode;

Das Problem ist jetzt:
Nehmen wir an wir haben Node A und B.
A hat die Edge A -> B

Was hibernate macht:
Es fügt A ein, setzt fromNode korrekt, scheitert aber an toNode, weil er B noch nicht eingefügt hat. Wie kann ich Hibernate also sagen: füge zuerst alle Nodes ein und dann die edges?

Ja - man kann es manuell machen - aber ich will es in einer save operation machen
Danke!!
LG
 

Neue Themen


Zurück
Oben