关于 spring data neo4j (SDN) 操作数据库后 数据库无变化
发布于 19 天前 作者 pangguoming 84 次浏览 最后一次编辑是 17 天前 来自 分享

一、问题

有些同学在使用 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数据库中的数据 }

2 回复

必须点赞一个!

回到顶部