# Hibernate: persistieren eines Graphen



## damike84 (20. Apr 2021)

Hi

Ich habe zwei Entitäten:
Node:

```
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
private Set<Edge> edges= new LinkedHashSet<>();
```

Edge:

```
@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


----------



## mihe7 (20. Apr 2021)

Schon mal cascade bei toNode probiert?


----------



## damike84 (20. Apr 2021)

Vielen Dank!!! Es funktioniert soweit!!!


----------

