3.5.2的mybatis-plus中的sql别名为rs会报错问题
同事今天早上发现了bug,这段sql在navicat中正常运行,但是项目跑起来就会报错
SELECT
s.security_id AS securityId,
s.security_name AS securityName,
s.ding_talk_id AS userId,
rs.year_num AS yearNum,
rs.shift_month_day AS shiftMonthDay,
sh.id AS shiftId,
sh.shift_name AS shiftName
FROM
ssmpx_hr.tbl_security_staff s
LEFT JOIN tbl_security_refer_shift rs ON rs.security_id = s.security_id
AND rs.del_flag = 0
LEFT JOIN tbl_attendance_shift sh ON sh.id = rs.shift_id
AND sh.del_flag = 0
WHERE
s.del_flag = 0
AND s.ding_talk_id IS NOT NULL
AND s.ding_talk_activate_status = 1
AND rs.year_num = 2025
AND rs.shift_month_day IN (
'01/01')
具体报错如下截图

找到具体位置位于,userId后面会多出一个逗号
网上查找原因找了一个类似问题,

用了注解确实可以,所以猜测是租户问题,但是应该没问题,所以就换成select s.,然后报错就换了一个,
Encountered unexpected token: "rs" <K_ISOLATION>
加上rs.报错又变回来了
后面同事想到改名,把rs改成ars,居然就正常了
后面查询了一下,发现这个是2022年提出来的问题了,


浙公网安备 33010602011771号