Tenho uma aplicação Java que se conecta ao Neo4j. Quero testar a capacidade de rollback do meu projeto, então criei um código de exemplo. Primeiro, abro uma sessão, executo uma transação de gravação e a comprometo. Após o encerramento da sessão, preciso reverter minha transação anterior (fora da sessão).
public class Neo4jTransactionExample {
public void main() {
createPersonsWithReference();
rollback();
}
public void createPersonsWithReference() {
try (Session session = driver.session()) {
session.writeTransaction(tx -> {
tx.run("CREATE (a:Person {name: 'Alice'})");
tx.run("CREATE (b:Person {name: 'Bob'})");
tx.run("MATCH (a:Person {name: 'Alice'}), (b:Person {name: 'Bob'}) CREATE (b)-[:KNOWS]->(a)");
return null;
});
}
}
public void rollback() {
}
}
Como faço para reverter após o encerramento da sessão?