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 89dff6c83..f55a4bc90 100644 --- a/src/main/java/org/springframework/data/neo4j/core/Neo4jTemplate.java +++ b/src/main/java/org/springframework/data/neo4j/core/Neo4jTemplate.java @@ -467,6 +467,13 @@ public final class Neo4jTemplate implements return saveAllImpl(instances, Collections.emptySet(), null); } + private boolean requiresSingleStatements(boolean heterogeneousCollection, Neo4jPersistentEntity entityMetaData) { + return heterogeneousCollection + || entityMetaData.isUsingInternalIds() + || entityMetaData.hasVersionProperty() + || entityMetaData.getDynamicLabelsProperty().isPresent(); + } + private List saveAllImpl(Iterable instances, @Nullable Collection includedProperties, @Nullable BiPredicate includeProperty) { Set> types = new HashSet<>(); @@ -489,8 +496,8 @@ public final class Neo4jTemplate implements includeProperty); Neo4jPersistentEntity entityMetaData = neo4jMappingContext.getRequiredPersistentEntity(domainClass); - if (heterogeneousCollection || entityMetaData.isUsingInternalIds() || entityMetaData.hasVersionProperty() - || entityMetaData.getDynamicLabelsProperty().isPresent()) { + + if (requiresSingleStatements(heterogeneousCollection, entityMetaData)) { log.debug("Saving entities using single statements."); NestedRelationshipProcessingStateMachine stateMachine = new NestedRelationshipProcessingStateMachine(neo4jMappingContext);