diff --git a/pom.xml b/pom.xml
index 198f34160a..40f660caa5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,7 +24,7 @@
org.springframework.data
spring-data-neo4j
- 6.2.0-SNAPSHOT
+ 6.2.0-NODE-NAMES-SNAPSHOT
Spring Data Neo4j
Next generation Object-Graph-Mapping for Spring Data.
diff --git a/src/main/java/org/springframework/data/neo4j/core/DynamicLabels.java b/src/main/java/org/springframework/data/neo4j/core/DynamicLabels.java
index 8469ead8ef..474a459252 100644
--- a/src/main/java/org/springframework/data/neo4j/core/DynamicLabels.java
+++ b/src/main/java/org/springframework/data/neo4j/core/DynamicLabels.java
@@ -25,6 +25,8 @@
import org.neo4j.cypherdsl.core.Node;
import org.neo4j.cypherdsl.core.StatementBuilder.OngoingMatchAndUpdate;
import org.springframework.data.neo4j.core.mapping.Constants;
+import org.springframework.data.neo4j.core.mapping.NodeDescription;
+import org.springframework.lang.Nullable;
/**
* Decorator for an ongoing update statement that removes obsolete dynamic labels and adds new ones.
@@ -33,16 +35,17 @@
*/
final class DynamicLabels implements UnaryOperator {
- public static final DynamicLabels EMPTY = new DynamicLabels(Collections.emptyList(), Collections.emptyList());
+ public static final DynamicLabels EMPTY = new DynamicLabels(null, Collections.emptyList(), Collections.emptyList());
- private static final Node rootNode = Cypher.anyNode(Constants.NAME_OF_ROOT_NODE);
+ private final Node rootNode;
private final List oldLabels;
private final List newLabels;
- DynamicLabels(Collection oldLabels, Collection newLabels) {
+ DynamicLabels(@Nullable NodeDescription> nodeDescription, Collection oldLabels, Collection newLabels) {
this.oldLabels = new ArrayList<>(oldLabels);
this.newLabels = new ArrayList<>(newLabels);
+ this.rootNode = Cypher.anyNode(Constants.NAME_OF_TYPED_ROOT_NODE.apply(nodeDescription));
}
@Override
diff --git a/src/main/java/org/springframework/data/neo4j/core/Neo4jTemplate.java b/src/main/java/org/springframework/data/neo4j/core/Neo4jTemplate.java
index 4d3849f7a3..aaa8eb3af9 100644
--- a/src/main/java/org/springframework/data/neo4j/core/Neo4jTemplate.java
+++ b/src/main/java/org/springframework/data/neo4j/core/Neo4jTemplate.java
@@ -413,7 +413,7 @@ private DynamicLabels determineDynamicLabels(T entityToBeSaved, Neo4jPersist
}
Optional