一、该问题的重现步骤是什么?
由于多租户增强功能只针对于新增和修改方法,现在的业务场景是许多查询sql需要手动设置tenantId,许多方法直接调用的是mybatis封装的BaseMapper,所以也无法使用@SqlParse注解跳过租户绑定,而且由于方法太多,重新在写sql也不太现实。因此想通过mybatis拦截器的方式实现手动拼接上正确的租户id并将框架自动拼接的租户id删除。
最后的结果是看到自定义的拦截器在租户的sql解析类前边执行,对sql进行拦截处理tentantId的方法失效。检查源码发现,租户id拼接, blade框架使用的是jsqlParser,二者无法关联。
二、你期待的结果是什么?实际看到的又是什么?
希望看到手写的拦截器在BladeTenantSqlParser之后执行,
实际看到的是拦截器在BladeTenantSqlParser之前执行,
手写的拦截器
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
blade-cloud 商业版 windows
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
官方新品
- 热议问题
-
强制有些sql查主库
1
-
报文加密后端加密后传给前端,前端解密发现long类型的数据精度丢失
1
-
iot后台通过feign调用不到服务
1
-
variables.scss的@use引入冲突
1
-
cloud版本远程调用提示file文件名不存在
1
-
BladeX-biz 新建module后,启动报错:Failed to determine suitable jdbc url
1
-
powerjob执行任务状态是等待Worker接收,如何解决通讯问题
1
-
框架4.4.0版本的,现有的功能有支持直接获取远程调用抛出的异常提示吗?
1
-
bladex自定义认证模块
2
-
fegin 远程调用如何传递 BladeUser 到远程?
1
扫一扫访问 Blade技术社区 移动端