Я перехожу с Spring Data Neo4j 3 на Spring Data Neo4j 4.
Я использую базу данных Embedded Neo4j.
Прямо сейчас я не могу переписать следующий метод:
public static void cleanDb(Neo4jTemplate template) {
logger.info("Cleaning database");
long deletedNodesCount = 0;
do {
GraphDatabaseService graphDatabaseService = template.getGraphDatabaseService();
Transaction tx = graphDatabaseService.beginTx();
try {
Result<Map<String, Object>> result = template.query("MATCH (n) WITH n LIMIT " + BATCH_SIZE + " OPTIONAL MATCH (n)-[r]-() DELETE n, r RETURN count(n) as count", null);
deletedNodesCount = (long) result.single().get("count");
tx.success();
logger.info("Deleted " + deletedNodesCount + " nodes...");
} catch (Throwable th) {
logger.error("Error while deleting database", th);
throw th;
} finally {
tx.close();
}
} while (deletedNodesCount > 0);
}
Как правильно получить graphDatabaseService
в SDN4 а так же result.single()
отсутствует.
Пожалуйста, помогите мне переписать этот метод для SDN4.