最近写项目遇到了这样一个问题。使用MP向数据库中插入数据时,有一些数据是能够插入数据库中的,但是有一部分数据插入不进去?MYSQL语句没有问题,直接调用MP中的save方法,字段映射也没有问题的。
下面是我的代码:
if (taskSupervisionForm.getTasksupervisiondetailsList() != null) {
List<TaskSupervisionDetailsEntity> TaskSupervisionDetailsList = JsonUtil.getJsonToList(taskSupervisionForm.getTasksupervisiondetailsList(), TaskSupervisionDetailsEntity.class);
for (TaskSupervisionDetailsEntity entitys : TaskSupervisionDetailsList) {
// 将 entity 属性值拷贝到 entitys
BeanUtils.copyProperties(entity,entitys);
entitys.setId(RandomUtil.uuId());
entitys.setParentid(entity.getId());
System.out.println("===>" + entitys);
taskSupervisionDetailsService.save(entitys);
}
}
下面是拷贝完控制台输出的结果:
其他的值都能保存到数据库,只有 tasksource 后面的字段不能保存上。。
===>TaskSupervisionDetailsEntity(
id=420680732793378501,
parentid=420680732562691781,
taskstatus=null,
workingarrangements=阿松大,
requiredcompletiontime=Tue Apr 11 00:00:00 GMT+08:00 2023,
responsibledepartment=["32659CD1-F452-45B5-9E26-AB72002E31D5","17BEBDCB-248D-4668-B6CD-BF22A446BBD4"],
responsible=从翠柏,於友绿,
executor=null,
cooperatedepartment=["32659CD1-F452-45B5-9E26-AB72002E31D5","9E998490-40B2-45EF-A82E-E225BF2109E1"], actualcompletiontime=null,
expirationstatus=null,
implementationstatement=null,
supplementaryfiles=null,
processfiles=null,
taskcompletion=null,
supplementaryinformation=null,
creatoruserid=null,
creatortime=null,
lastmodifyuserid=null,
lastmodifytime=null,
standby01=null,
standby02=null,
standby03=null,
standby04=null,
standby05=null,
tasksource=123,
theme=主题2,
publishingdepartment=技术部,
taskdetails=阿松大,
publisher=349057407209541,
flowid=420558532337733829)
以下是不能保存到数据库中的实体类字段:
@TableField("F_TASKSOURCE")
private String tasksource;
@TableField("F_THEME")
private String theme;
@TableField("F_PUBLISHINGDEPARTMENT")
private String publishingdepartment;
@TableField("F_TASKDETAILS")
private String taskdetails;
@TableField("F_PUBLISHER")
private String publisher;
下面是数据库中的字段:
数据库插入结果:红色为插入不进去的,蓝色为正常的。
然后我看了数据库的日志,SQL语句和值都是没有问题的。
这是什么原因呢?希望给解答一下。