【发布时间】:2021-08-27 19:13:54
【问题描述】:
我有一个扩展MongoRepository<Thing, String> 的接口,还创建了一个扩展AbstractMongoClientConfiguration 的MongoConfig。在配置中,有一个@Bean MongoTransactionManager(没有使用特殊设置,一切都是默认的)。
尽管如此,当我尝试以下代码时:
@Transactional(transactionManager = "mongoTransactionManager")
void transactionalTest() {
notes.save(new Thing("1"));
fail();
notes.save(new Thing("2"));
}
private void fail() {
throw new RuntimeException("Failure to test transactionality.");
}
我的数据库中最终得到了“Thing 1”。 我的期望是在那里什么都看不到(因为我将带有两个保存的函数标记为事务性的)。
我错过了什么?
【问题讨论】:
标签: spring spring-data spring-data-mongodb spring-transactions