gaox
gaox
https://github.com/Tencent/APIJSON/issues/718#issuecomment-2142590824 使用join,副表查询也是一条条SQL执行,n+1问题依然存在,但是查询1000条数据时,会执行1001次SQL 
https://github.com/Tencent/APIJSON/issues/748#issuecomment-2259471661 比如说用户和部门(假如用户可以不分配部门),我主表是用户,部门只是附加的属性,可有可无,当前页十条用户都没分配部门,我用app join不就是 dept where dept_id in ()了嘛,我想要的结果是十条用户信息正常显示,只是部门那一列空着,而不是连用户信息都不返回了
单个字段为空可以这样,如果DeviceType查询不到数据时,连DeviceType:{} 都不会返回的,只有 code码、msg等信息
我试过了,项目中自己在使用了,对象内只要有一个字段不为 null,确实会返回这个对象,但是如果所有字段都是null,整个对象就不返回了,前端反映要求把整个对象字段都要返回,只不过每个字段都是null或者空字符串
你说的确实有道理,那我再和前段沟通一下,如果单个字段为空也需要返回的话,除了ifnull函数和远程函数之外我是否可以全局设置直接改fastjson序列化方式,为空也返回呢 打算在这改返回值的,但是这个方法返回的是JSONObject,fastjson又没有方法可以指定返回值是JSONObject类型的序列化方法,所以目前没找到好的方式来设置出参序列化方式
> 也可以先升级到 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查询
https://github.com/Tencent/APIJSON/issues/781#issuecomment-2629362746 master分支是否兼容jdk1.8呀
https://github.com/Tencent/APIJSON/issues/781#issuecomment-2640144322 已成功升级到最新版本,感谢! 不过还是遇到了一个问题,我们项目组要求传参所有必须是驼峰格式,目前@column字段、where条件、出参驼峰均没问题,但是join关联字段时有很大问题,过程也改了很多源码,但是还是各种bug(比如n+1查询等),您有没有一键配置支持所有驼峰的规划呢     