不想用多租户模式,采用物理分库方式进行隔离,没有tenantId字段,为什么自动拼接了SQL

Blade 已结 1 762
8855709
8855709 剑圣 2021-06-03 09:22

一、该问题的重现步骤是什么?

1. 我的表里面没有tenantId,entity中也没有,为什么在SQL执行的时候,自动加上了tenantId的拼接。

2. 我查资料说是,可以通过@SqlParser注解,可以通过blade.tenant.exclude-tables来配置,问题是我根本不需要,而且几百个表,上千个方法不可能一个个写注解。

3.我换了Mybatis,不用Mybatis-Plus也还是出现了拼接SQL的现象。


二、你期待的结果是什么?实际看到的又是什么?

1、通过某一个配置,直接不要多租户自动拼接SQL,我自行处理。

2、我也可以用原生Mybatis,但是如何绕过系统拦截对于Mybatis-Plus的硬侵入?


三、你正在使用的是什么产品,什么版本?在什么操作系统上?


四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

1条回答
  •  admin
    admin (最佳回答者)
    2021-06-03 10:17

    如果引入了 blade-starter-tenant 依赖,则entity没有tenantId就不会启用多租户模式

    如果没有引入blade-starter-tenant,只引入了blade-starter-mybatis,则会默认启用mybatis-plus的多租户插件,你需要手动关闭

    blade.mybatis-plus.tenant-mode = false


    如果引入了tenant依赖,还是有问题,则到如下代码块进行断点调试

    image.png

    image.png


    0 讨论(1)
提交回复