我目前在尝试让 micronaut-data 处理事务时遇到问题。
据我了解,流程如下:
- 开始交易
- 执行写入 1
- 抛出异常
应该产生一个未修改的数据库,即事务应该回滚。
我使用 micronaut-web start、一个简单的实体、存储库和一个测试创建了一个最小的示例,并尝试使用 @Transactional、SynchronousTransactionManager 等进行不同的尝试,但在所有情况下,数据库修改在事务之后都是可见的。最小的例子可以在这里找到:https ://github.com/Spellmaker/transactiontestgradle/
显然,配置或我对事务的理解一定有问题。那么是哪一个呢?