繁体   English   中英

neo4j使用jdbc插入,但无法在同一连接中立即查询

[英]neo4j insert using jdbc but cannot query immediately within the same connection

问题背景:

 1.database is neo4j 2.3.1, driver using jdbc;  
 2.db connection initialized as a class member, default is auto-commit(not changed); 

为了避免插入重复,我在插入之前进行查询。 程序停止后,发现重复项。 为什么?

码:

String query = "CREATE (n:LABEL {name:'jack'})";
System.out.println(query);
Statement stmt = dbConnection.createStatement();
stmt.executeUpdate(query);
stmt.close();
  1. 改用MERGE +唯一约束
  2. 您如何“检查”
  3. 您将不得不签入相同的TX,还需要写锁定

调试后,我发现对于neo4j-jdbc(v2.1.4),默认的数据库连接事务级别为TRANSACTION_NONE,然后将其设置为TRANSACTION_READ_COMMITTED,以上问题消失了。 所以我认为TRANSACTION_READ_COMMITTED将强制执行先前的插入操作,尽管这不是推荐的方法。 有关隔离级别,请参见: 读提交和可重复读之间的区别

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM