一、该问题的重现步骤是什么?
由于多租户增强功能只针对于新增和修改方法,现在的业务场景是许多查询sql需要手动设置tenantId,许多方法直接调用的是mybatis封装的BaseMapper,所以也无法使用@SqlParse注解跳过租户绑定,而且由于方法太多,重新在写sql也不太现实。因此想通过mybatis拦截器的方式实现手动拼接上正确的租户id并将框架自动拼接的租户id删除。
最后的结果是看到自定义的拦截器在租户的sql解析类前边执行,对sql进行拦截处理tentantId的方法失效。检查源码发现,租户id拼接, blade框架使用的是jsqlParser,二者无法关联。
二、你期待的结果是什么?实际看到的又是什么?
希望看到手写的拦截器在BladeTenantSqlParser之后执行,
实际看到的是拦截器在BladeTenantSqlParser之前执行,
手写的拦截器
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
blade-cloud 商业版 windows
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
扫一扫访问 Blade技术社区 移动端