我将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() {...}
但注释被忽略了?
我似乎对大多数人都有相反的问题,需要回滚,但它不起作用:)在我的情况下,回滚工作完美,我希望将其关闭。
答案 0 :(得分:1)
针对版本4.0.x
和4.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
,这样您就可以完全控制事务语义。