如何解决Micronaut-data with hibernate:中止的事务仍然修改数据库
我目前在尝试让 micronaut 数据处理事务时遇到问题。
据我所知,流程如下:
- 开始交易
- 执行写入 1
- 抛出异常
我使用 micronaut-web start 创建了一个最小的示例,一个简单的实体、存储库和一个使用@Transactional、SynchronousTransactionManager 等不同尝试的测试,但在所有情况下,数据库修改在事务之后都是可见的。 最小的例子可以在这里找到:https://github.com/Spellmaker/transactiontestgradle/
测试类的直接链接:https://github.com/Spellmaker/transactiontestgradle/blob/master/src/test/kotlin/com/example/TransactiontestgradleTest.kt
显然,配置或我对事务的理解一定有问题。那么是哪一个?
解决方法
正如在 gitter 上回答的那样,@MicronautTest 为每个测试启动一个事务并管理它。 要在测试中测试交易,必须通过
手动禁用此行为@MicronautTest(transactional=false)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。