防止回滚 – Spring Data,JUnit和Neo4J

我有spring的数据Neo4j连接起来,很好地工作。 我建立了几个unit testing,并在测试类上使用@Transactional注释。 测试运行,但他们写的数据总是回滚。 在日志中我可以看到:

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

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

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

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

但是注释被忽略?

我似乎有大多数相反的问题,在那里需要回滚,但它不工作:)在我的情况下,回滚完美的作品,我想关闭它。

根据官方文档,针对Spring Data Neo4j(SDN)在4.0.x4.1.x之间编写的Spring集成测试将不起作用。 这是因为事务管理器的实现没有集成到预期的Spring Transaction生态系统中。 从4.2.x这个function现在已经被修复,并将按照文档工作。

在撰写4.2.0.M1时, 4.2.0.M1是最新版本,但包含几个重要的错误。 4.2.0.RC1将于2016年11月28日到期,现在4.2.0.BUILD-SNAPSHOT实际上相当稳定(并且已经有一段时间了)。

如果你必须在4.2.x之前的SDN中使用这种行为,你可以连接一个TransactionTemplate而不是@Transactional ,这将允许你完全控制事务语义。