Java SpringDataNeo4j如何开始事务工作?
我有一个理解问题。我无法理解Neo4jTemplate中的数据库操作(如“getOrCreateNode()”)如何属于周围的转换。它是如何实施的?Neo4jTemplate将在多线程环境中共享?我看不到该交易的明确成员资格。我可以理解操作是否直接在事务对象中(例如,tx.getOrCreateNode())Java SpringDataNeo4j如何开始事务工作?,java,neo4j,spring-data,spring-data-neo4j,Java,Neo4j,Spring Data,Spring Data Neo4j,我有一个理解问题。我无法理解Neo4jTemplate中的数据库操作(如“getOrCreateNode()”)如何属于周围的转换。它是如何实施的?Neo4jTemplate将在多线程环境中共享?我看不到该交易的明确成员资格。我可以理解操作是否直接在事务对象中(例如,tx.getOrCreateNode()) 提前感谢。下面的摘录对其进行了总结。使用spring事务管理器而不是使用Neo4j事务,让spring负责划分。此外,事务管理是完全线程安全的。对于您,我建议使用@Transactiona
提前感谢。下面的摘录对其进行了总结。使用spring事务管理器而不是使用Neo4j事务,让spring负责划分。此外,事务管理是完全线程安全的。对于您,我建议使用
@Transactional
注释。如果已经存在一个现有事务,那么spring也会加入该现有事务
交易
Neo4jTemplate为其部分应用程序提供隐式事务
方法。例如,save使用它们。用于其他修改操作
请使用@Transactional
或
交易模板
@Service
public class TestService {
@Autowired
private Neo4jTemplate template;
public void save(IndexedTriple triple) {
GraphDatabase gdb = template.getGraphDatabase();
Transaction tx = gdb.beginTx();
Node subject = gdb.getOrCreateNode()
...
tx.success();
tx.finish();
}
}