在执行A方法的时候,调用了两个数据源的mapper接口,此时,因为开启了事务,导致会使用第一个数据源进行第二个数据库查询,此时报表不存在。
需要将方法上的事务级别设为NEVER
,(如果方法上没有发现,检查下Service有没有加事务,或者其他地方配置了)。
经测试NOT_SUPPORTED
,默认不开启事务的这种也会报上述错误。
在使用中,发现上述依然无效,需要去除相关的事务注解,最终才能使用。
关联:切换数据源失败
记录下常见多数据源问题:
- 忘记导入配置类导致报错(一般会报数据源配置不正确的错误)
Cannot determine embedded database driver class for database type NONE
导入到启动类中即可
@Import(DynamicDataSourceAutoConfiguration.class)