Spring 反应式 @Transactional 不工作

Spring reactive @Transactional not working

我不明白为什么 @Transactional 在反应式中不起作用。保存到存储库后,我抛出一个错误。但是数据仍然出现在数据库中。 Spring v 5.3.10

我的控制器

    @GetMapping("/test/save")
    fun saveListNotification(): Flux<Notification> {
        return service.saveListNotification(listOf(
            ...
        ))
    }

我的服务

    @Transactional
    fun saveListNotification(listOf: List<Notification>): Flux<Notification> {
        return Flux.fromIterable(listOf)
            .flatMap { notificationRepository.save(it) }
            .doOnNext {
                if (it.rawJsonHash.equals("4")) throw Exception()
            }
    }

我的资料库

interface NotificationRepository : ReactiveCrudRepository<Notification?, UUID?>

我解决了我的问题 更改 @Transactional(rollbackFor = [Exception::class]) 因为@Transactional default 会回滚 RuntimeException 和 Error