При использовании Java встроенные транзакции должны быть закрыты при сохранении объектов, иначе они могут потеряться. В более ранних версиях это делалось путем вызова finally { tx.finish(); }
, в более поздних версиях (2.1+) это должно происходить автоматически при создании экземпляра в try-with-resource . (Это позволяет столкнуться с проблемами, если экземпляр Transaction tx
создан вне условия try).
GraphDatabaseService graphDb = new GraphDatabaseFactory().newEmbeddedDatabase(DB_PATH);
try (Transaction tx = graphDb.beginTx()) {
// create some nodes here
}