MtContractResEntity contractRes = JSONArray.parseObject(JSONObject.toJSONString(i), MtContractResEntity.class);
List<MtContractResEntity> t = new ArrayList();
t.add(contractRes);
boolean insert = contractResService.insertOrUpdateBatch(t);
insertOrUpdateBatch()插入一个实体列表时,设置字符串类型的hash为主键,在insert时出现主键为空。
异常:com.baomidou.mybatisplus.exceptions.MybatisPlusException:后面意思是解析insertOrUpdateBatch这个方法出现异常。通过断点详细查看是在insert是hash(主键为空),即hash没有insert进值。
解决方法:添加如下主键,则执行成功:
@TableId(value = “hash”, type = IdType.INPUT)
private String hash;
在使用MyBatis Plus的insertOrUpdateBatch方法时,若字符串类型主键未赋值,会引发主键为空的异常。文章分享了如何通过自定义主键属性解决此问题。
2582

被折叠的 条评论
为什么被折叠?



