fix: 修复3个Critical代码问题
Critical Fix #1: 事务边界违规 - 添加@Transactional注解 - 使用TransactionSynchronizationManager确保异步任务在事务提交后启动 - 避免事务回滚导致的数据不一致问题 Critical Fix #2: MultipartFile生命周期问题 - 在启动异步任务前将MultipartFile保存到临时存储 - 使用临时文件路径替代MultipartFile对象 - 在处理完成后清理临时文件 Critical Fix #3: 批量插入后ID生成验证 - 在XML映射中添加useGeneratedKeys=true和keyProperty=id - 在批量插入后验证所有记录ID已生成 - 抛出异常如果ID未生成 Additional Fix: 线程中断处理 - 在调度线程中检查中断状态 - 被中断时停止提交剩余任务
This commit is contained in:
@@ -27,7 +27,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</sql>
|
||||
|
||||
<!-- 批量插入 -->
|
||||
<insert id="insertBatch" parameterType="java.util.List">
|
||||
<insert id="insertBatch" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id">
|
||||
insert into ccdi_file_upload_record (
|
||||
project_id, lsfx_project_id, file_name, file_size, file_status,
|
||||
upload_time, upload_user
|
||||
|
||||
Reference in New Issue
Block a user