### APIJSON Version/APIJSON 版本号 8.1.8 ### Database Type & Version/数据库类型及版本号 MySql 8.0.32 ### Environment/环境信息 ```markdown - JDK/基础库: jdk17 - OS/系统: windows ``` ### APIAuto Screenshots/APIAuto 请求与结果完整截屏 在添加唯一验证的情况下批量新增,只有最后一条数据入库成功 ### Current Behavior/问题描述 ```markdown 在添加唯一验证的情况下批量新增,只有最后一条数据入库成功。经测试,是因为每条数据经过AbstractVerifier.verifyRepeat 做重复验证后调用了executor.close(),导致最终的AbstractSQLExecutor.commit只提交了最后一个连接,因为前面的都被close清空了。座椅只有最后一条数据被插入数据库,前面的因为连接被关闭清空没插入成功 ``` ### Expected Behavior/期望结果 ```markdown 在添加唯一验证的情况下批量新增,所有数据都能数据入库成功 ``` ### Any additional comments?/其它补充说明? ```markdown AbstractVerifier里的 verifyCondition verifyExist verifyRepeat 都会关闭链连接,是否都会造成上述情况? ```
Activity
[-][Bug][/-][+][Bug] 唯一验证时批量新增,只有最后一条数据入库成功[/+]TommyLemon commentedon Jul 13, 2026
@QingShan512 感谢反馈,parser.getSQLExecutor() 改成 parser.createSQLExecutor() ,这样就把 Verifier 中的 SQLExecutor 独立与 Parser 中的 SQLExecutor 了,互不影响。可以帮忙改下,谢谢,开源要大家共同参与才会更美好~
https://github.com/Tencent/APIJSON/blob/master/APIJSONORM/src/main/java/apijson/orm/AbstractVerifier.java#L1813-L1830
fix: isolate verifier SQL executor for validation #865