Open gxmanito opened 5 days ago
断点调试下 AbstractSQLExecutor.execute 中对 JOIN 查到 ResultSet 后分离 主、副 表数据的处理 https://github.com/Tencent/APIJSON/blob/master/APIJSONORM/src/main/java/apijson/orm/AbstractSQLExecutor.java#L390-L584
如果这里没问题,也可能是后面对 User:a 生成的缓存 SQL 与对 User:b 生成的缓存 SQL 一致,导致 AbstractSQLExecuto.getCacheItem 取错了
也可以先升级到 7.0.3/6.4.3 等更高版本后试试
也可以先把驼峰转换去掉后试试还有没有同样问题,看看是不是自己的改动导致
也可以先升级到 7.0.3/6.4.3 等更高版本后试试
升级版本暂时不能升级的
也可以先把驼峰转换去掉后试试还有没有同样问题,看看是不是自己的改动导致
驼峰转换去除后还是有问题的
断点调试下 AbstractSQLExecutor.execute 中对 JOIN 查到 ResultSet 后分离 主、副 表数据的处理 https://github.com/Tencent/APIJSON/blob/master/APIJSONORM/src/main/java/apijson/orm/AbstractSQLExecutor.java#L390-L584
如果这里没问题,也可能是后面对 User:a 生成的缓存 SQL 与对 User:b 生成的缓存 SQL 一致,导致 AbstractSQLExecuto.getCacheItem 取错了
是缓存取错了,但是暂时没有太好的方案处理,如果去掉缓存会导致n+1查询
Description
APIJSON Version/APIJSON 版本号 6.3.0
Database Type & Version/数据库类型及版本号 mysql8
如图,JOIN 查询同一张表多次,副表数据错乱bug,explain执行计划打印的SQL是对的,但是副表的数据不对