防止回滚 - Spring Data,JUnit和& Neo4j的

时间:2016-11-04 18:38:55

标签: spring neo4j spring-data-neo4j

我将Spring Data Neo4j连接起来并且运行良好。我已经设置了几个单元测试,并在测试类上使用@Transactional注释。测试运行,但他们编写的数据总是回滚。在日志中我可以看到:

] o.n.o.drivers.http.request.HttpRequest ...
request: {"statements":[{"statement":"UNWIND {rows} as row MATCH ...

但是我想压抑这个,我尝试过使用(在Kotlin中):

@Test
@Commit
fun myDbTest() {...}

@Test
@Rollback(false)
fun myDbTest() {...}

但注释被忽略了?

我似乎对大多数人都有相反的问题,需要回滚,但它不起作用:)在我的情况下,回滚工作完美,我希望将其关闭。

1 个答案:

答案 0 :(得分:1)

针对版本4.0.x4.1.x之间的Spring Data Neo4j(SDN)编写的Spring集成测试将不会根据official documentation工作。这是因为事务管理器实现未集成到预期的Spring Transaction生态系统中。从4.2.x开始,现在已经修复了这个问题,并且可以按照文档进行操作。

在撰写本文时,4.2.0.M1是最新版本,但包含一些严重错误。 4.2.0.RC1将于2016年11月28日到期,现在4.2.0.BUILD-SNAPSHOT实际上非常稳定(已经有一段时间了)。

如果您必须在4.2.x之前使用此行为,则可以连接TransactionTemplate而不是@Transactional,这样您就可以完全控制事务语义。