一、该问题的重现步骤是什么?
1. 设置list集合总的实体数据的isdeleted为1
2. 调用saveOrUpdateBatch方法,不生效
3.查看打印的sql,发现其中并未设置isdeleted字段
二、你期待的结果是什么?实际看到的又是什么?
saveOrUpdateBatch 可以更新isdeleted字段
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
bladex 2.5.1
macos
四、请提供详细的错误堆栈信息,这很重要。
代码:
(= Exception.) R (AddAtlDTO addAtlDTO) { Long id = addAtlDTO.getId()AssessTemplate assessTemplate = selectAssessTemplateById(id)(assessTemplate == ){ R.()} assessTemplate.setName(addAtlDTO.getName()).saveOrUpdate(assessTemplate)ListassessTemplateDetailsList = addAtlDTO.getAssessTemplateDetailsList()(!StringUtil.(id)){ (AssessTemplateDetails details : assessTemplateDetailsList) { details.setAtId(id)} } .saveOrUpdateBatch(assessTemplateDetailsList)R.()}
控制台打印的update语句(只拿了一条),并未发现isdeleted字段:
============== Sql Start ==============
Execute ID :cn.zkml.mt.mapper.AssessTemplateDetailsMapper.updateById
Execute SQL :UPDATE ihp_assess_template_details SET at_id = ?, name = ?, template_order = ?, amplitude_pl = ?, amplitude_ab = ?, cycle = ?, time = ?, abdominal_muscles_threshold = ?, pelvic_floor_muscles_threshold = ?, abdominal_muscles_training_curve = ?, pelvic_floor_muscles_training_curve = ?, content = ?, tenant_id = ?, prompt_content = ?, create_user = ?, create_dept = ?, update_user = ?, update_time = ?, status = ? WHERE id = ? AND is_deleted = 0
Execute Time:0 ms
============== Sql End ==============
数据库查询这条数据:
SELECT a.id,a.is_deleted FROM ihp_assess_template_details a where a.id = '1483636959871041537'
五、若有更多详细信息,请在下面提供。
扫一扫访问 Blade技术社区 移动端