一、该问题的重现步骤是什么?
1. 数据库为SqlServer
2. 在测试数据权限时,在Mapper分页方法上,添加 @DataAuth(type = DataScopeEnum.OWN_DEPT)
/** * 自定义分页 * * @param page 分页 * @param notice 实体 * @return List<NoticeVO> */ @DataAuth(type = DataScopeEnum.OWN_DEPT) List<NoticeVO> selectNoticePage(IPage page, NoticeVO notice);
3. 该Mapper分页的sql是一个普通查询,对CreateTime排序
select * from table u order by u.CreateTime desc
4.最后生成的带数据权限的分页sql,是错误的
WITH selectTemp AS (
SELECT TOP 100 PERCENT ROW_NUMBER() OVER (ORDER BY u.CreateTime DESC) scope where scope.CreateDept in (1)) as __row_number__, * from ( -- sqlserver普通查询,带order by CreateTime select top 100 percent * from table u order by u.CreateTime desc ) scope where scope.CreateDept in (1) ) SELECT * FROM selectTemp WHERE __row_number__ BETWEEN 1 AND 10 ORDER BY __row_number__
二、你期待的结果是什么?实际看到的又是什么?
期待正常的sql如下
WITH selectTemp AS (
SELECT TOP 100 PERCENT ROW_NUMBER() OVER (ORDER BY CreateTime DESC) as __row_number__,
* from (
-- sqlserver普通查询,带order by CreateTime
select top 100 percent *
from table u
order by u.CreateTime desc
) scope
where scope.CreateDept in (1)
)
SELECT *
FROM selectTemp
WHERE __row_number__ BETWEEN 1 AND 10 ORDER BY __row_number__
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
BladeX企业版
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
-
问题已记录,后续会安排时间排查修复
=====
请问你的版本是?我记得之前有个老版本是有这个问题的,后来mybatis-plus修复了就没问题了。
我现在本地跑出来的sql语句如下,没有问题,你试着更新到最新版本试试
WITH selectTemp AS (
SELECT TOP
100 PERCENT row_number ( ) OVER ( ORDER BY CURRENT_TIMESTAMP ) AS __row_number__, *
FROM
(
SELECT
n.*,
d.dict_value AS categoryName
FROM
blade_notice n
LEFT JOIN ( SELECT * FROM blade_dict WHERE CODE = 'notice' ) d ON n.category = d.dict_key
WHERE
n.is_deleted = 0
AND n.tenant_id = '000000'
) scope
WHERE
scope.create_dept IN ( 1123598813738675202 )
) SELECT
*
FROM
selectTemp
WHERE
__row_number__ BETWEEN 1
AND 10
ORDER BY
__row_number__
讨论(0)
官方新品
- 热议问题
-
物联网平台支持本地存储吗,不用minio
1
-
bladx admin、gateway等项目起不来
1
-
解决sql注入问题导致gateway无法启动,报错java.io.FileNotFoundException:WebMvcConfigurer.class
1
-
一个用户绑定多角色,在登陆后获取其并集
1
-
mvn clean compile 编译 BladeX-Tool 提示 ... /ojdbc7-12.2.0.1.pom 401 Unauthorized
2
-
gateway无法启动,报错java.io.FileNotFoundException:WebMvcConfigurer.class
1
-
cookie中token缺失HttpOnly和Secure属性
1
-
在nacos配置多数据库之后sql日志不能正常打印了
1
-
无法本地调试服务
1
-
启动流程设计器工程flowable-design,表act_id_property用的是版本6.5.0.1,需要引入哪些依赖
1
扫一扫访问 Blade技术社区 移动端