当前使用版本(必填,否则不予处理)
3.3.2
该问题是如何引起的?(确定最新版也有问题再提!!!)
// 创建租户SQL解析器 TenantSqlParser tenantSqlParserAddress = new TenantSqlParser(); // 设置租户处理器 tenantSqlParserAddress.setTenantHandler(new TenantHandler() { @Override public Expression getTenantId(boolean select) { // select since: 3.3.2,参数 false 表示为 select 下的 where 条件,true 表示 insert/update/delete 下的条件 // 只有 select 下才允许多参(ValueListExpression),否则只支持单参 if (select) { InExpression expression = new InExpression(); ExpressionList list = new ExpressionList(new StringValue(DEFAULT_TENANT_ID), new StringValue(UserContextHolder.getInstance().getTenantId())); expression.setLeftExpression(new Column(TENANT_ID_COLUMN)); expression.setRightItemsList(list); return expression; } return new StringValue(UserContextHolder.getInstance().getTenantId()); }
结果:select语句和非select语句,getTenantId(boolean select) {中,select的值都是false,和文档上的不一致??
重现步骤(如果有就写完整)
报错信息
多租户id,不管是查询还是插入,boolean select的值总是false,导致业务逻辑不对。
Comment From: miemieYaho
来来写个复现demo出来
Comment From: literatureandyou
不用了吧 的确我这里测试出来都是一样的结果,查询和非查询,那个select条件都是一样的哦
------------------ 原始邮件 ------------------ 发件人: "miemieYaho"<notifications@github.com>; 发送时间: 2020年9月28日(星期一) 晚上6:34 收件人: "baomidou/mybatis-plus"<mybatis-plus@noreply.github.com>; 抄送: "黄文学"<895367830@qq.com>; "Author"<author@noreply.github.com>; 主题: Re: [baomidou/mybatis-plus] 多租户多id问题 (#2951)
来来写个复现demo出来
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.
Comment From: miemieYaho
你说我就信了?你连方法注释都没真正看对
Comment From: literatureandyou
你好,可以指正下么,谢谢。