@Transactiona在多数据源下失效

在多数据源的情况下,如果transactionManager进行了分开配置,比如这里针对三个数据源配置了三个transactionManager

@Bean("formTransactionManager")
public PlatformTransactionManager transactionManager(EntityManagerFactoryBuilder builder) {
    return new JpaTransactionManager(Objects.requireNonNull(entityManagerFactory(builder).getObject()));
}
@Bean("fileTransactionManager")
public PlatformTransactionManager transactionManager(EntityManagerFactoryBuilder builder) {
    return new JpaTransactionManager(Objects.requireNonNull(entityManagerFactory(builder).getObject()));
}
@Primary
@Bean("userTransactionManager")
public PlatformTransactionManager transactionManager(EntityManagerFactoryBuilder builder) {
    return new JpaTransactionManager(Objects.requireNonNull(entityManagerFactory(builder).getObject()));
}

那么在使用@Transactional的时候需要指定transactionManager

@Transactional("formTransactionManager")
原文地址:https://www.cnblogs.com/nickhan/p/15448771.html