关于 spring data neo4j (SDN) 操作数据库后 数据库无变化
发布于 6 年前 作者 pangguoming 3330 次浏览 来自 分享

一、问题

有些同学在使用 spring data neo4j (SDN) 操作数据库后 数据库无变化 。程序正常运行无报错,且数据可正常操作。但程序运行完成后到Neo4j里查询发现数据库无任何变化

二、原因

spring data neo4j (SDN) 操作数据库,必须使用Spring 的事务注解,如果操作数据的方法不标明为事务,则Spring 自动回滚所有操作

三、解决方案

在操作数据库的方法上(一般在Spring项目中的service层)加上注解 @Transactional(propagation = Propagation.NOT_SUPPORTED),标明为事务propagation = Propagation.NOT_SUPPORTED标明为“非传播”事务,以立即提交事务 代码如下:

import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Propagation; @Transactional(propagation = Propagation.NOT_SUPPORTED) public void testCRUDPerson() { //调用 相应 的Repository中的方法操作Neo4j数据库中的数据 }

3 回复

必须点赞一个!

那这样的话是不是就没有事务了?我现在使用的sdn删除节点,想要加事务要怎么实现呢?

回到顶部