java - neo4j嵌入java中

标签 java neo4j

我尝试执行教程,但此错误消息一直出现

Exception in thread "main" org.neo4j.graphdb.NotInTransactionException
    at org.neo4j.kernel.impl.persistence.PersistenceManager.getResource(PersistenceManager.java:228)    at org.neo4j.kernel.impl.persistence.PersistenceManager.getResource(PersistenceManager.java:228)
    at org.neo4j.kernel.impl.persistence.PersistenceManager.nodeCreate(PersistenceManager.java:155)
    at org.neo4j.kernel.impl.core.NodeManager.createNode(NodeManager.java:254)
    at org.neo4j.kernel.EmbeddedGraphDbImpl.createNode(EmbeddedGraphDbImpl.java:305)
    at org.neo4j.kernel.EmbeddedGraphDatabase.createNode(EmbeddedGraphDatabase.java:105)
    at twiapp.embeded.main(embeded.java:37)
Java Result: 1

最佳答案

修改数据库的代码需要在事务内运行:

public static void main(String args[]) {
        graphDb = new GraphDatabaseFactory().newEmbeddedDatabase(path);
        registerShutdownHook(graphDb);
        Transaction tx = graphDb.beginTx();
        try {


        firstNode = graphDb.createNode();
        firstNode.setProperty("message", "Hello, ");
        secondNode = graphDb.createNode();
        secondNode.setProperty("message", "World!");
        relationship = firstNode.createRelationshipTo(secondNode, RelTypes.KNOWS);
        relationship.setProperty("message", "brave Neo4j ");

            tx.success();
        } finally {
            tx.finish();
        }
    }

您还应该使用提供的工厂创建嵌入式数据库。请参阅版本 2.1.7 的教程 http://neo4j.com/docs/2.1.7/tutorials-java-embedded-hello-world.html

关于java - neo4j嵌入java中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28764421/

相关文章:

java - Mockito : Testing boolean method with when(). .then()

java - 如何使用 AspectJ 在 Eclipse 中启用调试符号?

java - 阅读 PDF 文本和/或所有内容

python - 带有数据库回滚的路由的 Flask 功能 pytest 测试

java - neo4j条件关系

windows - 在没有管理权限的情况下在 Windows 上运行 neo4j

java - 仅从字符串中提取数字

Java JoptionPane 按钮字符串

Neo4j:Cypher 示例查询的结果让我困惑

ruby-on-rails - 使用 after_save 在 Neo4J 模型中创建关系