Java驱动操作neo4j中session与transaction的区别
发布于 6 年前 作者 LongStockingPipi 4038 次浏览 来自 问答

session.run()与transaction.run()都可以执行写操作的cql语句,这两个方法有什么区别?

4 回复

session.run()将实际创建一个事务,执行语句并提交事务。 transaction.run()将保留事务打开状态,直到您提交它,但是仍然会发送、解释和执行语句,并返回结果。但是,实际上不会将任何更改持久化到数据存储中,并且事务外部的查询不会看到这些更改。您必须将事务标记为成功并提交它,否则将回滚它。 原文:https://stackoverflow.com/questions/39525713/session-run-vs-transaction-run-in-neo4j-bolt?answertab=active#tab-top

通常,session.run()推荐只在执行一个查询就完成的情况下使用。如果有多个步骤,使用Transaction.run,而且即使是只读查询也用Transaction。

@graphway 嗯,我看到有readTransaction和writeTransaction,谢谢

回到顶部