当前使用版本 3.5.5、3.5.6 都试过
当前环境信息 例如: Java11 + Mysql5.7
描述bug现象 租户插件使用 exists 语句会失效
场景一:
@Select("select 1 from user userT where idNo = #{loginAccount} limit 1")
Integer test1(String loginAccount);
==> Preparing: SELECT 1 FROM user userT WHERE idNo = ? AND userT.tenantId = 0 LIMIT 1 ==> Parameters: 445281199999995665(String) <== Total: 0
场景二:
使用exists不会添加tenantId字段的筛选:
@Select("select exists(select 1 from user userT where idNo = #{loginAccount} limit 1)")
Boolean test2(String loginAccount);
==> Preparing: SELECT EXISTS (SELECT 1 FROM user userT WHERE idNo = ? LIMIT 1) ==> Parameters: 445281199999995665(String) <== Columns: EXISTS (SELECT 1 FROM user userT WHERE idNo = '445281199999995665' LIMIT 1) <== Row: 1 <== Total: 1
提供问题复现步骤 租户插件,使用select exists语句查询,exists语句内的sql不会增加tenantId字段的筛选
Comment From: nieqiurong
用 3.5.7-SNAPSHOT 试试